Skip to content

googleapis/python-bigquery-dataframes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BigQuery DataFrames (BigFrames)

GA pypi versions

BigQuery DataFrames (also known as BigFrames) provides a Pythonic DataFrame and machine learning (ML) API powered by the BigQuery engine.

  • bigframes.pandas provides a pandas API for analytics. Many workloads can be migrated from pandas to bigframes by just changing a few imports.
  • bigframes.ml provides a scikit-learn-like API for ML.

BigQuery DataFrames is an open-source package.

Version 2.0 introduces breaking changes for improved security and performance. See below for details.

Getting started with BigQuery DataFrames

The easiest way to get started is to try the BigFrames quickstart in a notebook in BigQuery Studio.

To use BigFrames in your local development environment,

  1. Run pip install --upgrade bigframes to install the latest version.
  2. Setup Application default credentials for your local development environment enviroment.
  3. Create a GCP project with the BigQuery API enabled.
  4. Use the bigframes package to query data.
import bigframes.pandas as bpd

bpd.options.bigquery.project = your_gcp_project_id
df = bpd.read_gbq("bigquery-public-data.usa_names.usa_1910_2013")
print(
    df.groupby("name")
    .agg({"number": "sum"})
    .sort_values("number", ascending=False)
    .head(10)
    .to_pandas()
)

Documentation

To learn more about BigQuery DataFrames, visit these pages

⚠️ Warning: Breaking Changes in BigQuery DataFrames v2.0

Version 2.0 introduces breaking changes for improved security and performance. Key default behaviors have changed, including

  • Large Results (>10GB): The default value for allow_large_results has changed to False. Methods like to_pandas() will now fail if the query result's compressed data size exceeds 10GB, unless large results are explicitly permitted.
  • Remote Function Security: The library no longer automatically lets the Compute Engine default service account become the identity of the Cloud Run functions. If that is desired, it has to be indicated by passing cloud_function_service_account="default". And network ingress now defaults to "internal-only".
  • @remote_function Argument Passing: Arguments other than input_types, output_type, and dataset to remote_function must now be passed using keyword syntax, as positional arguments are no longer supported.
  • @udf Argument Passing: Arguments dataset and name to udf are now mandatory.
  • Endpoint Connections: Automatic fallback to locational endpoints in certain regions is removed.
  • LLM Updates (Gemini Integration): Integrations now default to the gemini-2.0-flash-001 model. PaLM2 support has been removed; please migrate any existing PaLM2 usage to Gemini. Note: The current default model will be removed in Version 3.0.

Important: If you are not ready to adapt to these changes, please pin your dependency to a version less than 2.0 (e.g., bigframes==1.42.0) to avoid disruption.

To learn about these changes and how to migrate to version 2.0, see the updated introduction guide.

License

BigQuery DataFrames is distributed with the Apache-2.0 license.

It also contains code derived from the following third-party packages:

For details, see the third_party directory.

Contact Us

For further help and provide feedback, you can email us at bigframes-feedback@google.com.

Packages

No packages published

Contributors 35