使用 BigQuery DataFrames 操作資料
本文說明 BigQuery DataFrames 提供的資料操控功能。您可以在 bigframes.bigquery 程式庫中找到所述函式。
必要的角色
如要取得完成本文件工作所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
BigQuery 工作使用者 (
roles/bigquery.jobUser) -
BigQuery 讀取工作階段使用者 (
roles/bigquery.readSessionUser) -
在 BigQuery 筆記本中使用 BigQuery DataFrames:
-
BigQuery 使用者 (
roles/bigquery.user) -
筆記本執行階段使用者 (
roles/aiplatform.notebookRuntimeUser) -
程式碼建立者 (
roles/dataform.codeCreator)
-
BigQuery 使用者 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
在筆記本、Python REPL 或指令列等互動式環境中執行使用者驗證時,BigQuery DataFrames 會視需要提示進行驗證。否則,請參閱如何為各種環境設定應用程式預設憑證。
pandas API
BigQuery DataFrames 的顯著特色是,bigframes.pandas API 的設計與 pandas 程式庫中的 API 相似。這種設計可讓您使用熟悉的語法模式執行資料操縱工作。透過 BigQuery DataFrames API 定義的作業會在伺服器端執行,直接對 BigQuery 中儲存的資料進行操作,因此不需要將資料集移出 BigQuery。
如要查看 BigQuery DataFrames 支援哪些 pandas API,請參閱「支援的 pandas API」。
檢查及操控資料
您可以使用 bigframes.pandas API 執行資料檢查和計算作業。以下程式碼範例使用 bigframes.pandas 程式庫檢查 body_mass_g 欄、計算平均值 body_mass,以及依 species 計算平均值 body_mass:
BigQuery 程式庫
BigQuery 程式庫提供 BigQuery SQL 函式,這些函式可能沒有對應的 pandas 函式。以下各節提供一些範例。
處理陣列值
您可以在 bigframes.bigquery 程式庫中使用 bigframes.bigquery.array_agg() 函式,在 groupby 作業後匯總值:
您也可以使用 array_length() 和 array_to_string() 陣列函式。
建立結構體 Series 物件
您可以在 bigframes.bigquery 程式庫中使用 bigframes.bigquery.struct() 函式,為 DataFrame 中的每個資料欄建立具有子欄位的新 struct Series 物件:
將時間戳記轉換為 Unix Epoch
您可以使用 bigframes.bigquery 程式庫中的 bigframes.bigquery.unix_micros() 函式,將時間戳記轉換為 Unix 毫秒:
您也可以使用 unix_seconds() 和 unix_millis() 時間函式。
使用 SQL 純量函式
您可以在 bigframes.bigquery 程式庫中使用 bigframes.bigquery.sql_scalar() 函式,存取代表單欄運算式的任意 SQL 語法:
後續步驟
- 瞭解 BigQuery DataFrames 的自訂 Python 函式。
- 瞭解如何使用 Gemini 生成 BigQuery DataFrames 程式碼。
- 瞭解如何使用 BigQuery DataFrames 分析 PyPI 的套件下載次數。
- 在 GitHub 上查看 BigQuery DataFrames 的原始碼、範例筆記本和範例。
- 請參閱 BigQuery DataFrames API 參考資料。