Manipuler des données avec BigQuery DataFrames
Ce document décrit les fonctionnalités de manipulation des données disponibles avec BigQuery DataFrames. Vous trouverez les fonctions décrites dans la bibliothèque bigframes.bigquery.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer les tâches décrites dans ce document, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Utilisateur de job BigQuery (
roles/bigquery.jobUser) -
Utilisateur de sessions de lecture BigQuery (
roles/bigquery.readSessionUser) -
Utiliser BigQuery DataFrames dans un notebook BigQuery :
-
Utilisateur BigQuery (
roles/bigquery.user) -
Utilisateur de l'environnement d'exécution de notebook (
roles/aiplatform.notebookRuntimeUser) -
Créateur de code (
roles/dataform.codeCreator)
-
Utilisateur BigQuery (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Lorsque vous effectuez l'authentification d'un utilisateur final dans un environnement interactif tel qu'un notebook, un REPL Python ou la ligne de commande, BigQuery DataFrames vous invite à procéder à une authentification si nécessaire. Sinon, consultez Configurer les identifiants par défaut de l'application pour différents environnements.
API pandas
Une fonctionnalité notable de BigQuery DataFrames est que l'API bigframes.pandas est conçue pour être semblable aux API de la bibliothèque pandas. Cette conception vous permet d'utiliser des modèles de syntaxe familiers pour les tâches de manipulation de données. Les opérations définies par le biais de l'API BigQuery DataFrames sont exécutées côté serveur, en agissant directement sur les données stockées dans BigQuery. Il n'est donc pas nécessaire de transférer les ensembles de données hors de BigQuery.
Pour vérifier quelles API pandas sont compatibles avec BigQuery DataFrames, consultez API pandas compatibles.
Inspecter et manipuler des données
Vous pouvez utiliser l'API bigframes.pandas pour effectuer des opérations d'inspection et de calcul des données. L'exemple de code suivant utilise la bibliothèque bigframes.pandas pour inspecter la colonne body_mass_g, calculer la moyenne body_mass et calculer la moyenne body_mass par species :
Bibliothèque BigQuery
La bibliothèque BigQuery fournit des fonctions SQL BigQuery qui n'ont peut-être pas d'équivalent dans pandas. Les sections suivantes présentent quelques exemples.
Traiter les valeurs de tableau
Vous pouvez utiliser la fonction bigframes.bigquery.array_agg() dans la bibliothèque bigframes.bigquery pour agréger des valeurs après une opération groupby :
Vous pouvez également utiliser les fonctions de tableau array_length() et array_to_string().
Créer un objet struct Series
Vous pouvez utiliser la fonction bigframes.bigquery.struct() dans la bibliothèque bigframes.bigquery pour créer un objet Series struct avec des sous-champs pour chaque colonne d'un DataFrame :
Convertir des codes temporels en epochs Unix
Vous pouvez utiliser la fonction bigframes.bigquery.unix_micros() dans la bibliothèque bigframes.bigquery pour convertir les codes temporels en microsecondes Unix :
Vous pouvez également utiliser les fonctions temporelles unix_seconds() et unix_millis().
Utiliser la fonction scalaire SQL
Vous pouvez utiliser la fonction bigframes.bigquery.sql_scalar() dans la bibliothèque bigframes.bigquery pour accéder à une syntaxe SQL arbitraire représentant une expression à une seule colonne :
Étapes suivantes
- Découvrez les fonctions Python personnalisées pour BigQuery DataFrames.
- Découvrez comment générer du code BigQuery DataFrames avec Gemini.
- Découvrez comment analyser les téléchargements de packages depuis PyPI avec BigQuery DataFrames.
- Consultez le code source, les exemples de notebooks et les exemples de BigQuery DataFrames sur GitHub.
- Explorez la documentation de référence de l'API BigQuery DataFrames.