Changelog#
2.29.0 (2025-11-10)#
Features#
Bug Fixes#
Documentation#
2.28.0 (2025-11-03)#
Features#
Bug Fixes#
Documentation#
2.27.0 (2025-10-24)#
Features#
Documentation#
2.26.0 (2025-10-17)#
⚠ BREAKING CHANGES#
turn Series.struct.dtypes into a property to match pandas (https://github.com/googleapis/python-bigquery-dataframes/pull/2169)
Features#
Bug Fixes#
Documentation#
2.25.0 (2025-10-13)#
Features#
Add output_schema parameter to ai.generate() (#2139) (ef0b0b7)
Create session-scoped
cut,DataFrame,MultiIndex,Index,Series,to_datetime, andto_timedeltamethods (#2157) (5e1e809)Replace ML.GENERATE_TEXT with AI.GENERATE for audio transcription (#2151) (a410d0a)
Support string literal inputs for AI functions (#2152) (7600001)
Bug Fixes#
Documentation#
2.24.0 (2025-10-07)#
Features#
Bug Fixes#
Performance Improvements#
2.23.0 (2025-09-29)#
Features#
Bug Fixes#
Documentation#
2.22.0 (2025-09-25)#
Features#
Bug Fixes#
2.21.0 (2025-09-17)#
Features#
Bug Fixes#
2.20.0 (2025-09-16)#
Features#
Bug Fixes#
Do not scroll page selector in anywidget
repr_mode(#2082) (5ce5d63)Fix the potential invalid VPC egress configuration (#2068) (cce4966)
Return a DataFrame containing query stats for all non-SELECT statements (#2071) (a52b913)
Use the remote and managed functions for bigframes results (#2079) (49b91e8)
Performance Improvements#
2.19.0 (2025-09-09)#
Features#
Bug Fixes#
2.18.0 (2025-09-03)#
⚠ BREAKING CHANGES#
add
allow_large_resultsoption toread_gbq_query, aligning withbpd.options.compute.allow_large_resultsoption (#1935)
Features#
Add
allow_large_resultsoption toread_gbq_query, aligning withbpd.options.compute.allow_large_resultsoption (#1935) (a7963fe)Add parameter shuffle for ml.model_selection.train_test_split (#2030) (2c72c56)
Support callable for dataframe mask method (#2020) (9d4504b)
Support multi-column assignment for DataFrame (#2028) (ba0d23b)
Bug Fixes#
Performance Improvements#
2.17.0 (2025-08-22)#
Features#
2.16.0 (2025-08-20)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
2.15.0 (2025-08-11)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
2.14.0 (2025-08-05)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
2.13.0 (2025-07-25)#
Features#
Bug Fixes#
Dependencies#
2.12.0 (2025-07-23)#
Features#
Add code samples for dbt bigframes integration (#1898) (7e03252)
Allow local arithmetic execution in hybrid engine (#1906) (ebdcd02)
Provide day_of_year and day_of_week for dt accessor (#1911) (40e7638)
Support params
max_batching_rows,container_cpu, andcontainer_memoryforudf(#1897) (8baa912)Support typed pyarrow.Scalar in assignment (#1930) (cd28e12)
Bug Fixes#
Documentation#
2.11.0 (2025-07-15)#
Features#
Bug Fixes#
2.10.0 (2025-07-08)#
Features#
Bug Fixes#
Documentation#
2.9.0 (2025-06-30)#
Features#
Bug Fixes#
Documentation#
2.8.0 (2025-06-23)#
⚠ BREAKING CHANGES#
add required param ‘engine’ to multimodal functions (#1834)
Features#
Performance Improvements#
Documentation#
2.7.0 (2025-06-16)#
Features#
Bug Fixes#
Documentation#
2.6.0 (2025-06-09)#
Features#
Bug Fixes#
Documentation#
2.5.0 (2025-05-30)#
⚠ BREAKING CHANGES#
the updated
ai.map()parameter list is not backward-compatible
Features#
Add
bpd.options.bigquery.requests_transport_adaptersoption (#1755) (bb45db8)Add bbq.json_query and warn bbq.json_extract deprecated (#1756) (ec81dd2)
Add deprecation warning to Gemini-1.5-X, text-embedding-004, and remove remove legacy models in notebooks and docs (#1723) (80aad9a)
Add structured output for ai map, ai filter and ai join (#1746) (133ac6b)
Include bq schema and query string in dry run results (#1752) (bb51147)
Support
inplace=Trueinrenameandrename_axis(#1744) (734cc65)Support astype conversions to and from JSON dtypes (#1716) (8ef4de1)
Support dtype parameter in read_csv for bigquery engine (#1749) (50dca4c)
Bug Fixes#
Fix the default value for na_value for numpy conversions (#1766) (0629cac)
Include location in Session-based temporary storage manager DDL queries (#1780) (acba032)
Prevent creating unnecessary client objects in multithreaded environments (#1757) (1cf9f5e)
Reduce bigquery table modification via DML for to_gbq (#1737) (545cdca)
Stop ignoring arguments to
MatrixFactorization.score(X, y)(#1726) (55c07e9)Support JSON and STRUCT for bbq.sql_scalar (#1754) (190390b)
Performance Improvements#
Dependencies#
Documentation#
Add MatrixFactorization to the table of contents (#1725) (611e43b)
Fix typo for “population” in the
GeminiTextGenerator.predict(..., output_schema={...})sample notebook (#1748) (bd07e05)Integrations notebook extracts token from
bqclient._http.credentialsinstead ofbqclient._credentials(#1784) (6e63eca)Use partial ordering mode in the quickstart sample (#1734) (476b7dd)
2.4.0 (2025-05-12)#
Features#
Add
.dt.days,.dt.seconds,dt.microseconds, anddt.total_seconds()for timedelta series. (#1713) (2b3a45f)Improve error message in
Series.applyfor direct udfs (#1673) (1a658b2)Publish bigframes blob(Multimodal) to preview (#1693) (e4c85ba)
Support forecast_limit_lower_bound and forecast_limit_upper_bound in ARIMA_PLUS (and ARIMA_PLUS_XREG) models (#1305) (b16740e)
Support to_strip parameter for str.strip, str.lstrip and str.rstrip (#1705) (a84ee75)
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
Add snippets for Matrix Factorization tutorials (#1630) (24b37ae)
Deprecate
bpd.options.bigquery.allow_large_resultsin favor ofbpd.options.compute.allow_large_results(#1597) (18780b4)Include import statement in the bigframes code snippet (#1699) (08d70b6)
Include the clean-up step in the udf code snippet (#1698) (48992e2)
Move multimodal notebook out of experimental folder (#1712) (68b6532)
2.3.0 (2025-05-06)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
2.2.0 (2025-04-30)#
Features#
Add gemini-2.0-flash-001 and gemini-2.0-flash-lite-001 to fine tune score endponts and multimodal endpoints (#1650) (4fb54df)
Add GeminiTextGenerator.predict structured output (#1653) (6199023)
DataFrames.getitem support for slice input (#1668) (563f0cb)
Print right origin of
PreviewWarningfor thebpd.udf(#1629) (48d10d1)Session.bytes_processed_sum will be updated when allow_large_re… (#1669) (ae312db)
Support names parameter in read_csv for bigquery engine (#1659) (3388191)
Support passing list of values to bigframes.core.sql.simple_literal (#1641) (102d363)
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
2.1.0 (2025-04-22)#
Features#
Bug Fixes#
Documentation#
2.0.0 (2025-04-17)#
⚠ BREAKING CHANGES#
make
datasetandnameparams mandatory inudf(#1619)Locational endpoints support is not available in BigFrames 2.0.
change default LLM model to gemini-2.0-flash-001, drop PaLM2TextGenerator and PaLM2TextEmbeddingGenerator (#1558)
change default ingress setting for
remote_functionto internal-only (#1544)make
remote_functionparams keyword only (#1537)make
remote_functiondefault service account explicit (#1537)set
allow_large_results=Falseby default (#1541)
Features#
Add
onparameter indataframe.rolling()anddataframe.groupby.rolling()(#1556) (45c9d9f)Add support for creating a Matrix Factorization model (#1330) (b5297f9)
Allow
input_types,output_type, anddatasetto be used positionally inremote_function(#1560) (bcac8c6)Allow pandas.cut ‘labels’ parameter to accept a list of string (#1549) (af842b1)
Change default ingress setting for
remote_functionto internal-only (#1544) (c848a80)Detect duplicate column/index names in read_gbq before send query. (#1615) (40d6960)
Enable time range rolling for DataFrame, DataFrameGroupBy and SeriesGroupBy (#1605) (b4b7073)
Make
remote_functiondefault service account explicit (#1537) (9eb9089)Support bigquery connection in managed function (#1554) (f6f697a)
Support inlining small list, struct, json data (#1589) (2ce891f)
Use session temp tables for all ephemeral storage (#1569) (9711b83)
Use validated local storage for data uploads (#1612) (aee4159)
Warn the deprecated
max_download_size,random_stateandsampling_methodparameters in(DataFrame|Series).to_pandas()(#1573) (b9623da)
Bug Fixes#
to_pandas_batches()respectspage_sizeandmax_resultsagain (#1572) (27c5905)Ensure
page_sizeworks correctly into_pandas_batcheswhenmax_resultsis not set (#1588) (570cff3)Include role and service account in IAM exception (#1564) (8c50755)
Make
datasetandnameparams mandatory inudf(#1619) (637e860)Pandas.cut returns labels index for numeric breaks when labels=False (#1548) (b2375de)
Prevent
KeyErrorinbpd.concatwith empty DF and struct/array types DF (#1568) (b4da1cf)Read_csv supports for tilde local paths and includes index for bigquery_stream write engine (#1580) (352e8e4)
Use dictionaries to avoid problematic google.iam namespace (#1611) (b03e44f)
Performance Improvements#
Dependencies#
Documentation#
Add details for
bigquery_connectionin[@bpd](https://github.com/bpd).udfdocstring (#1609) (ef63772)Add explain forecast snippet to multiple time series tutorial (#1586) (40c55a0)
Add message to remove default model for version 3.0 (#1563) (910be2b)
Add samples for ArimaPlus
time_series_id_colfeature (#1577) (1e4cd9c)Deprecate default model in
TextEmbedddingGenerator,GeminiTextGenerator, and otherbigframes.ml.llmclasses (#1570) (89ab33e)Include all licenses for vendored packages in the root LICENSE file (#1626) (8116ed0)
Remove gemini-1.5 deprecation warning for
GeminiTextGenerator(#1562) (0cc6784)Use restructured text to allow publishing to PyPI (#1565) (d1e9ec2)
Miscellaneous Chores#
1.42.0 (2025-03-27)#
Features#
Bug Fixes#
Add deprecation warning to TextEmbeddingGenerator model, espeically gemini-1.0-X and gemini-1.5-X (#1534) (c93e720)
Change the default value for pdf extract/chunk (#1517) (a70a607)
Read_pandas inline returns None when exceeds limit (#1525) (578081e)
Temporary fix for StreamingDataFrame not working backend bug (#1533) (6ab4ffd)
Tolerate BQ connection service account propagation delay (#1505) (6681f1f)
Performance Improvements#
Documentation#
1.41.0 (2025-03-19)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
1.40.0 (2025-03-11)#
⚠ BREAKING CHANGES#
reading JSON data as a custom arrow extension type (#1458)
Features#
Bug Fixes#
Performance Improvements#
1.39.0 (2025-03-05)#
Features#
(Preview) Support aggregations over timedeltas (#1418) (1251ded)
(Preview) Support arithmetics between dates and timedeltas (#1413) (962b152)
(Preview) Support automatic load of timedelta from BQ tables. (#1429) (b2917bb)
Add
allow_large_resultsoption to many I/O methods. Set toFalseto reduce latency (#1428) (dd2f488)Support interface for BigQuery managed functions (#1373) (2bbf53f)
Warn if default ingress_settings is used in remote_functions (#1419) (dfd891a)
Bug Fixes#
Do not compare schema description during schema validation (#1452) (03a3a56)
Remove warnings for null index and partial ordering mode in prep for GA (#1431) (6785aee)
Warn if default
cloud_function_service_accountis used inremote_function(#1424) (fe7463a)Write chunked text instead of dummy text for pdf chunk (#1444) (96b0e8a)
Performance Improvements#
Documentation#
1.38.0 (2025-02-24)#
Features#
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
1.37.0 (2025-02-19)#
Features#
(Preview) Support add, sub, mult, div, and more between timedeltas (#1396) (ffa63d4)
(Preview) Support comparison, ordering, and filtering for timedeltas (#1387) (34d01b2)
(Preview) Support subtraction in DATETIME/TIMESTAMP columns with timedelta columns (#1390) (50ad3a5)
JSON dtype support for read_pandas and Series constructor (#1391) (44f4137)
Bug Fixes#
Performance Improvements#
Documentation#
1.36.0 (2025-02-11)#
Features#
Bug Fixes#
Performance Improvements#
1.35.0 (2025-02-04)#
Features#
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
1.34.0 (2025-01-27)#
⚠ BREAKING CHANGES#
Enable reading JSON data with
dbjsonextension dtype (#1139)
Features#
1.33.0 (2025-01-22)#
Features#
Bug Fixes#
Documentation#
1.32.0 (2025-01-13)#
Features#
Bug Fixes#
Dependencies#
Documentation#
Add bq studio links that allows users to generate Jupiter notebooks in bq studio with github contents (#1266) (58f13cb)
Add snippet to evaluate ARIMA plus model in the Forecast a single time series with a univariate model tutorial (#1267) (3dcae2d)
Add snippet to see the ARIMA coefficients in the Forecast a single time series with a univariate model tutorial (#1268) (059a564)
Use 002 model for better scalability in text generation (#1270) (bb7a850)
1.31.0 (2025-01-05)#
Features#
Bug Fixes#
Documentation#
1.30.0 (2024-12-30)#
Features#
Add
LinearRegression.predict_explain()to generateML.EXPLAIN_PREDICTcolumns (#1190) (e13eca2)Add
LogisticRegression.predict_explain()to generateML.EXPLAIN_PREDICTcolumns (#1222) (bcbc732)Add
write_engineparameter toread_FORMATNAMEmethods to control how data is written to BigQuery (#371) (ed47ef1)Add client side retry to GeminiTextGenerator (#1242) (8193abe)
Add Gemini-pro-1.5 to GeminiTextGenerator Tuning and Support score() method in Gemini-pro-1.5 (#1208) (298fc73)
Add support for
LinearRegression.predict_explainandLogisticRegression.predict_explainparameter,top_k_features(#1228) (3068e19)
Bug Fixes#
Documentation#
Add an “open in BQ Studio” link to all BigFrames sample notebooks (#1223) (e0a8288)
Add bq studio link for a new ipynb file called “bq_dataframes_template.ipynb” (#1239) (840aaff)
Add python snippet for “Create the time series model” section of the Forecast a single time series with a univariate model tutorial (#1227) (20f3190)
1.29.0 (2024-12-12)#
Features#
Documentation#
1.28.0 (2024-12-11)#
Features#
bigframes.bigquery.vector_searchsupportsuse_brute_forceandfraction_lists_to_searchparameters (#1158) (131edc3)Add
ARIMAPlus.predict_explain()to generate forecasts with explanation columns (#1177) (05f8b4d)Add client_endpoints_override to bq options (#1167) (be74b99)
Add support for temporal types in dataframe’s describe() method (#1189) (2d564a6)
Allow join-free alignment of analytic expressions (#1168) (daef4f0)
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
Add a code sample using
bpd.options.bigquery.ordering_mode = "partial"(#909) (f80d705)Add snippet for creating boosted tree model (#1142) (a972668)
Add snippet for evaluating a boosted tree model (#1154) (9d8970a)
Add snippet for predicting classifications using a boosted tree model (#1156) (e7b83f1)
Add third party
pandas.Index methodsand docstrings (#1171) (a970294)Fix Bigframes.Pandas.General_Function missing docs (#1164) (de923d0)
1.27.0 (2024-11-16)#
Features#
Bug Fixes#
Documentation#
1.26.0 (2024-11-12)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
Add file for Classification with a Boosted Treed Model and snippet for preparing sample data (#1135) (7ac6639)
Add snippet for Linear Regression tutorial Predict Outcomes section (#1101) (108f4a9)
Update
DataFramedocstrings to include the errors section (#1127) (a38d4c4)Update Session doctrings to include exceptions (#1130) (a870421)
1.25.0 (2024-10-29)#
Features#
Add the
ground_with_google_searchoption for GeminiTextGenerator predict (#1119) (ca02cd4)Add warning when user tries to access struct series fields with
__getitem__(#1082) (20e5c58)Allow
fitto take additional eval data in linear and ensemble models (#1096) (254875c)Support context manager for bigframes session (#1107) (5f7b8b1)
Performance Improvements#
1.24.0 (2024-10-24)#
Features#
Documentation#
1.23.0 (2024-10-23)#
Features#
Add
bigframes.bigquery.create_vector_indexto assist in creating vector index onARRAY<FLOAT64>columns (#1024) (863d694)Add gemini-1.5-pro-002 and gemini-1.5-flash-002 to known Gemini model list. (#1105) (7094c85)
Add support for pandas series & data frames as inputs for ml models. (#1088) (30c8883)
Cleanup temp resources with session deletion (#1068) (1d5373d)
Show possible correct key(s) in
.__getitem__KeyError message (#1097) (32fab96)
Bug Fixes#
Performance Improvements#
Documentation#
1.22.0 (2024-10-09)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
1.21.0 (2024-10-02)#
Features#
Bug Fixes#
Documentation#
1.20.0 (2024-09-25)#
Features#
Bug Fixes#
Documentation#
1.19.0 (2024-09-24)#
Features#
Bug Fixes#
Performance Improvements#
Dependencies#
1.18.0 (2024-09-18)#
Features#
Bug Fixes#
Dependencies#
1.17.0 (2024-09-11)#
Features#
Bug Fixes#
Documentation#
1.16.0 (2024-09-04)#
Features#
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
1.15.0 (2024-08-20)#
Features#
Documentation#
1.14.0 (2024-08-14)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
1.13.0 (2024-08-05)#
Features#
Bug Fixes#
Documentation#
1.12.0 (2024-07-31)#
Features#
Add config option to set partial ordering mode (#855) (823c0ce)
Add stratify param support to ml.model_selection.train_test_split method (#815) (27f8631)
Allow DataFrame.join for self-join on Null index (#860) (e950533)
Support remote function cleanup with
session.close(#818) (ed06436)Support to_csv/parquet/json to local files/objects (#858) (d0ab9cc)
Bug Fixes#
Documentation#
1.11.1 (2024-07-08)#
Documentation#
1.11.0 (2024-07-01)#
Features#
Add
bigframes.streaming.to_pubsubmethod to create continuous query that writes to Pub/Sub (#801) (b47f32d)Add
DataFrame.to_arrowto create Arrow Table from DataFrame (#807) (1e3feda)Add
PolynomialFeaturessupport toto_gbqand pipelines (#805) (57d98b9)Add Series.peek to preview data efficiently (#727) (580e1b9)
More informative error when query plan too complex (#811) (136dc24)
Bug Fixes#
Documentation#
1.10.0 (2024-06-21)#
Features#
Bug Fixes#
Allow
__repr__to work with uninitialed DataFrame/Series/Index (#778) (e14c7a9)Df.loc with the 2nd input as bigframes boolean Series (#789) (a4ac82e)
Ensure numpy version matches in
remote_functiondeployment (#798) (324d93c)Fix temp table creation retries by now throwing if table already exists. (#787) (0e57d1f)
Self-join optimization doesn’t needlessly invalidate caching (#797) (1b96b80)
1.9.0 (2024-06-10)#
Features#
Bug Fixes#
Documentation#
1.8.0 (2024-05-31)#
Features#
mergeonly generates a default index if both inputs already have an index (#733) (25d049c)Add
GroupBy.size()to get number of rows in each group (#479) (1fca588)Add slot_millis and add stats to session object (#725) (72e9583)
Adds bigframes.bigquery.array_to_string to convert array elements to delimited strings (#731) (f12c906)
Allow functions decorated with
bpd.remote_function()to execute locally (#704) (d850da6)Ensure
"bigframes-api"label is always set on jobs, even if the API is unknown (#722) (1832778)Support type annotations to supply input and output types to
bpd.remote_function()decorator (#717) (4a12e3c)Support type annotations with
bpd.remote_function()andaxis=1(a preview feature) (#730) (e5a2992)
Bug Fixes#
Performance Improvements#
Documentation#
1.7.0 (2024-05-20)#
Features#
read_gbq_querysupportsfilters(9386373)read_gbqsuggests a correct column name when one is not found (9386373)Add
DefaultIndexKind.NULLto use asindex_colinread_gbq*, creating an indexless DataFrame/Series (#662) (29e4886)Bigframes.bigquery.array_agg(SeriesGroupBy|DataFrameGroupby) (#663) (412f28b)
To_datetime supports utc=False for string inputs (#579) (adf9889)
Bug Fixes#
read_gbq_tablerespects primary keys even whenfiltersare set (#689) (9386373)Improve escaping of literals and identifiers (#682) (da9b136)
Properly identify non-unique index in tables without primary keys (#699) (6e0f4d8)
Remove a usage of the
resourcepackage when not available, such as on Windows (#681) (96243f2)
Performance Improvements#
Documentation#
1.6.0 (2024-05-13)#
Features#
Add
strategy="quantile"in KBinsDiscretizer (#654) (c6c487f)Suggest correct options in bpd.options.bigquery.location (#666) (57ccabc)
Support
axis=1indf.applyfor scalar outputs (#629) (f6bdc4a)Support gcf vpc connector in
remote_function(#677) (9ca92d0)Warn with a more specific
DefaultLocationWarningcategory when no location can be detected (#648) (e084e54)
Bug Fixes#
Dependencies#
Add jellyfish as a dependency for spelling correction (57ccabc)
Documentation#
1.5.0 (2024-05-07)#
Features#
bigframes.optionsandbigframes.option_contextnow uses thread-local variables to prevent context managers in separate threads from affecting each other (#652) (651fd7d)Add
ARIMAPlus.coef_property exposingML.ARIMA_COEFFICIENTSfunctionality (#585) (81d1262)Add a unique session_id to Session and allow cleaning up sessions (#553) (c8d4e23)
Add the
bigframes.bigquerysub-package with abigframes.bigquery.array_lengthfunction (#630) (9963f85)Always do a query dry run when
option.repr_mode == "deferred"(#652) (651fd7d)Warn with
DefaultIndexWarningfromread_gbqon clustered/partitioned tables with noindex_colorfiltersset (#631, #658) (2715d2b, 73064dd)Support
index_col=Falseinread_csvandengine="bigquery"(73064dd)Support gcf max instance count in
remote_function(#657) (36578ab)
Bug Fixes#
Documentation#
1.4.0 (2024-04-29)#
Features#
Bug Fixes#
Performance Improvements#
Documentation#
1.3.0 (2024-04-22)#
Features#
Bug Fixes#
Documentation#
1.2.0 (2024-04-15)#
Features#
Bug Fixes#
Documentation#
1.1.0 (2024-04-04)#
Features#
Add support for numpy expm1, log1p, floor, ceil, arctan2 ops (#505) (e8e66cf)
Allow DataFrame binary ops to align on either axis and with loc… (#544) (6d8f3af)
Expose
DataFrame.bqclientto assist in integrations (#519) (0be8911)Read_pandas accepts pandas Series and Index objects (#573) (f8821fe)
Support
ML.GENERATE_EMBEDDINGinPaLM2TextEmbeddingGenerator(#539) (1156c1e)Support max_columns in repr and make repr more efficient (#515) (54e49cf)
Bug Fixes#
Don’t download 100gb onto local python machine in load test (#537) (082c58b)
Exclude list-like s parameter in plot.scatter (#568) (1caac27)
Fix case where df.peek would fail to execute even with force=True (#511) (8eca99a)
Plot.scatter s parameter cannot accept float-like column (#563) (8d39187)
Product operation produces float result for all input types (#501) (6873b30)
Rename PaLM2TextEmbeddingGenerator.predict output columns to be backward compatible (#561) (4995c00)
Respect hard stack size limit and swallow limit change exception. (#558) (4833908)
Use bytes limit on frame inlining rather than element count (#576) (659a161)
Performance Improvements#
Dependencies#
Documentation#
bigframes.options.bigquery.projectandlocationare optional in some circumstances (#548) (90bcec5)Add “Supported pandas APIs” reference to the documentation (#542) (74c3915)
Add the code samples for metrics{auc, roc_auc_score, roc_curve} (#520) (5f37b09)
Address more comments from technical writers to meet legal purposes (#571) (9084df3)
Migrate the overview page to Bigframes official landing page (#536) (a0fb8bb)
1.0.0 (2024-03-25)#
⚠ BREAKING CHANGES#
rename model parameter
min_rel_progresstotolearly_stopsetting no longer supported, always usesTruerename model parameter
n_parallell_treeston_estimatorsrename
class_weightstoclass_weightrename
learn_ratetolearning_ratePCA
n_componentssupports float value andNone, default toNonerename various ml model parameters for consistency with sklearn (https://github.com/googleapis/python-bigquery-dataframes/pull/491)
Features#
Allow assigning directly to Series.name property (#495) (ad0e99e)
Ensure
Series.str.len()can get length of array columns (#497) (10c0446)PCA
n_componentssupports float value andNone, default toNone(65c6f47)Rename
class_weightstoclass_weight(65c6f47)Rename
learn_ratetolearning_rate(65c6f47)Rename model parameter
min_rel_progresstotol(65c6f47)Rename model parameter
n_parallell_treeston_estimators(65c6f47)Rename various ml model parameters for consistency with sklearn (https://github.com/googleapis/python-bigquery-dataframes/pull/491) (65c6f47)
Support BQ regional endpoints for europe-west9, europe-west3, us-east4, and us-west1 (#504) (fbada4a)
Bug Fixes#
Dependencies#
Documentation#
0.26.0 (2024-03-20)#
⚠ BREAKING CHANGES#
exclude remote models for .register() (#465)
Features#
Bug Fixes#
Any() on empty set now correctly returns False (#471) (f55680c)
Fix grouping series on multiple other series (#455) (3971bd2)
Groupby aggregates no longer check if grouping keys are numeric (#472) (4fbf938)
Raise
ValueErrorwhenread_pandas()receives a bigframesDataFrame(#447) (b28f9fd)Series.(to_csv|to_json) leverages bq export (#452) (718a00c)
Warn when
read_gbq/read_gbq_tableuses the snapshot time cache (#441) (e16a8c0)
Documentation#
0.25.0 (2024-03-14)#
Features#
0.24.0 (2024-03-12)#
⚠ BREAKING CHANGES#
read_parquetuses a “pandas” engine to parse files by default. Useengine="bigquery"for the previous behavior
Features#
Bug Fixes#
Documentation#
0.23.0 (2024-03-05)#
Features#
Bug Fixes#
Dependencies#
Documentation#
0.22.0 (2024-02-27)#
⚠ BREAKING CHANGES#
Features#
Bug Fixes#
Performance Improvements#
Dependencies#
Documentation#
Miscellaneous Chores#
Code Refactoring#
0.21.0 (2024-02-13)#
Features#
Bug Fixes#
Documentation#
0.20.1 (2024-02-06)#
Performance Improvements#
Documentation#
0.20.0 (2024-01-30)#
Features#
Add
DataFrame.peek()as an efficient alternative tohead()results preview (#318) (9c34d83)Add ARIMA_EVAULATE options in forecasting models (#336) (73e997b)
Add Index constructor, repr, copy, get_level_values, to_series (#334) (e5d054e)
Improve error message for drive based BQ table reads (#344) (0794788)
Update cut to work without labels = False and show intervals as dict (#335) (4ff53db)
Bug Fixes#
Documentation#
0.19.2 (2024-01-22)#
Bug Fixes#
Documentation#
0.19.1 (2024-01-17)#
Bug Fixes#
Documentation#
0.19.0 (2024-01-09)#
Features#
Bug Fixes#
Documentation#
0.18.0 (2024-01-02)#
Features#
Bug Fixes#
Dataframes to_gbq now creates dataset if it doesn’t exist (#222) (bac62f7)
Exclude pandas 2.2.0rc0 to unblock prerelease tests (#292) (ac1a745)
Fix DataFrameGroupby.agg() issue with as_index=False (#273) (ab49350)
Make
Series.str.replacework for simple strings (#285) (ad67465)Update dataframe.to_gbq to dedup column names. (#286) (746115d)
Dependencies#
Documentation#
Add code snippets for explore query result page (#278) (7cbbb7d)
Code samples for
astypecommon to DataFrame and Series (#280) (95b673a)Code samples for
DataFrame.copyandSeries.copy(#290) (7cbc2b0)Code samples for
isna,isnull,dropna,isin(#289) (ad51035)Code samples for
reset_indexandsort_values(#282) (acc0eb7)Code samples for
Series.{add, replace, unique, T, transpose}(#287) (0e1bbfc)Code samples for
Series.{map, to_list, count}(#290) (7cbc2b0)Code samples for
Series.groupbyandSeries.{sum,mean,min,max}(#280) (95b673a)Code samples for DataFrame
set_index,items(#295) (c2b1892)
0.17.0 (2023-12-14)#
Features#
Bug Fixes#
Documentation#
0.16.0 (2023-12-12)#
Features#
Bug Fixes#
Documentation#
Add example for dataframe.melt, dataframe.pivot, dataframe.stac… (#252) (8c63697)
Add example to dataframe.nlargest, dataframe.nsmallest, datafra… (#234) (e735412)
Add examples for dataframe.cummin, dataframe.cummax, dataframe.cumsum, dataframe.cumprod (#243) (0523a31)
Add examples for dataframe.nunique, dataframe.diff, dataframe.a… (#251) (77074ec)
Correct the params rendering for
ml.remoteandml.ensemblemodules (#248) (c2829e3)
0.15.0 (2023-11-29)#
⚠ BREAKING CHANGES#
model.predict returns all the columns (#204)
Features#
Bug Fixes#
Documentation#
Add code samples for
indexandcolumnproperties (#212) (c88d38e)Add code samples for df reshaping, function, merge, and join methods (#203) (010486c)
Add examples for dataframe.kurt, dataframe.std, dataframe.count (#232) (f9c6e72)
Add examples for dataframe.mean, dataframe.median, dataframe.va… (#228) (edd0522)
Add examples for dataframe.min, dataframe.max and dataframe.sum (#227) (3a375e8)
Code samples for
Series.dotandDataFrame.dot(#226) (b62a07a)Code samples for
Series.whereandSeries.mask(#217) (52dfad2)Code samples for dataframe.any, dataframe.all and dataframe.prod (#223) (d7957fa)
Make the code samples reflect default bq connection usage (#206) (71844b0)
Miscellaneous Chores#
0.14.1 (2023-11-16)#
Bug Fixes#
Documentation#
0.14.0 (2023-11-14)#
Features#
Add ‘index’, ‘pad’, ‘nearest’ interpolate methods (#162) (6a28403)
Add series.sample (identical to existing dataframe.sample) (#187) (37914a4)
Log most recent API calls as
recent-bigframes-api-xxlabels on BigQuery jobs (#145) (4ea33b7)Read_gbq creates order deterministically without table copy (#191) (8ab81de)
Support
date_series.astype("string[pyarrow]")to cast DATE to STRING (#186) (aee0e8e)Temporary resources no longer use BigQuery Sessions (#194) (4a02cac)
Bug Fixes#
Default to 7 days expiration for
read_csv,read_json,read_parquet(#193) (03606cd)Deprecate the
remote_service_typein llm model (#180) (a8a409a)For reset_index on unnamed multiindex, always use level_[n] label (#182) (f95000d)
Match pandas behavior when assigning listlike to empty dfs (#172) (c1d1f42)
Use anonymous dataset instead of session dataset for temp tables (#181) (800d44e)
Use random table when loading data for
read_csv,read_json,read_parquet(#175) (9d2e6dc)
Documentation#
0.13.0 (2023-11-07)#
Features#
Bug Fixes#
0.12.0 (2023-11-01)#
Features#
Bug Fixes#
Documentation#
0.11.0 (2023-10-26)#
Features#
Bug Fixes#
Documentation#
0.10.0 (2023-10-19)#
Features#
0.9.0 (2023-10-18)#
⚠ BREAKING CHANGES#
rename
bigframes.pandas.reset_sessiontoclose_session(#101)
Features#
Add
bigframes.options.bigquery.application_namefor partner attribution (#117) (52d64ff)Rename
bigframes.pandas.reset_sessiontoclose_session(#101) (36693bf)Send BigQuery cancel request when canceling bigframes process (#103) (e325fbb)
Support external packages in
remote_function(#98) (ec10c4a)Use ArrowDtype for STRUCT columns in
to_pandas(#85) (9238fad)
Bug Fixes#
Performance Improvements#
Documentation#
0.8.0 (2023-10-12)#
⚠ BREAKING CHANGES#
The default behavior of
to_parquetis changing from no compression to'snappy'compression.
Features#
Support compression in
to_parquet(a8c286f)
Bug Fixes#
0.7.0 (2023-10-11)#
Features#
Bug Fixes#
Documentation#
0.6.0 (2023-10-04)#
Features#
Bug Fixes#
0.5.0 (2023-09-28)#
Features#
Add
DataFrame.kurtosis/DF.kurtmethod (c1900c2)Add
DataFrame.rollingandDataFrame.expandingmethods (c1900c2)Add index
dtype,astype,drop,fillna, aggregate attributes. (#38) (1a254a4)Support
calculate_p_valuesparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
class_weights="balanced"inLogisticRegressionmodel (c1900c2)Support
df[column_name] = df_only_one_column(c1900c2)Support
early_stopparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
enable_global_explainparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
l2_regparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
learn_rate_strategyparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
ls_init_learn_rateparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
max_iterationsparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
min_rel_progressparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)Support
optimize_strategyparameter inbigframes.ml.linear_model.LinearRegression(c1900c2)
Bug Fixes#
Performance Improvements#
Documentation#
Link to Remote Functions code samples from README and API reference (c1900c2)
0.4.0 (2023-09-16)#
Features#
Add
axisparameter todroplevelandreorder_levels(7c6b0dd)Add
bfillandffilltoDataFrameandSeries(7c6b0dd)Add
DataFrame.combineandDataFrame.combine_first(#27) (7c6b0dd)Add
DataFrame.nlargest,nsmallest(7c6b0dd)Add
DataFrame.pct_changeandSeries.pct_change(7c6b0dd)Add
DataFrame.skewandGroupBy.skew(7c6b0dd)Add
DataFrame.to_dict,to_excel,to_latex,to_records,to_string,to_markdown,to_pickle,to_orc(7c6b0dd)Add
diffmethod toDataFrameandGroupBy(7c6b0dd)Add
filterandreindextoSeriesandDataFrame(7c6b0dd)Add
reindex_liketoDataFrameandSeries(7c6b0dd)Add
swapleveltoDataFrameandSeries(7c6b0dd)Add partial support for
Sereies.replace(7c6b0dd)Support
DataFrame.loc[bool_series, column] = scalar(7c6b0dd)Support a persistent
nameinremote_function(7c6b0dd)
Bug Fixes#
remote_functionuses same credentials as other APIs (7c6b0dd)Add type hints to models (7c6b0dd)
Raise error when ARIMAPlus is used with Pipeline (7c6b0dd)
Remove
transformsparameter inmodel.fit(breaking change) (7c6b0dd)Support column joins with “None indexer” (7c6b0dd)
Use for literals
Int64Dtypeincut(7c6b0dd)Use lowercase strings for parameter literals in
bigframes.ml(breaking change) (7c6b0dd)
Performance Improvements#
bigframes-apilabel to I/O query jobs (7c6b0dd)
Documentation#
0.3.2 (2023-09-06)#
Bug Fixes#
0.3.1 (2023-09-05)#
Bug Fixes#
0.3.0 (2023-09-02)#
Features#
Add
bigframes.get_global_session()andbigframes.reset_session()aliases (a32b747)Add
bigframes.pandas.read_picklefunction (a32b747)Add
components_,explained_variance_, andexplained_variance_ratio_properties tobigframes.ml.decomposition.PCA(89b9503)Add
fit_transformtobigquery.mltransformers (a32b747)Add
Series.dropnaandDataFrame.fillna(8fab755)Add
Series.strmethodsisalpha,isdigit,isdecimal,isalnum,isspace,islower,isupper,zfill,center(a32b747)Support
bigframes.pandas.merge()(8fab755)Support
DataFrame.isinwith list and dict inputs (8fab755)Support
DataFrame.pivot(a32b747)Support
DataFrame.stack(89b9503)Support
DataFrame-DataFramebinary operations (8fab755)Support
df[my_column] = [a python list](89b9503)Support
Index.is_monotonic(8fab755)Support
np.arcsin,np.arccos,np.arctan,np.sinh,np.cosh,np.tanh,np.arcsinh,np.arccosh,np.arctanh,np.expwith Series argument (89b9503)Support
np.sin,np.cos,np.tan,np.log,np.log10,np.sqrt,np.abswith Series argument (89b9503)Support
pow()and power operator inDataFrameandSeries(8fab755)Support
read_jsonwithengine=bigqueryfor newline-delimited JSON files (89b9503)Support
Series.corr(89b9503)Support
Series.map(8fab755)Support for
np.add,np.subtract,np.multiply,np.divide,np.power(8fab755)Support MultiIndex for DataFrame columns (a32b747)
Use
pandas.Indexfor column labels (a32b747)Use default session and connection in
ml.llmandml.imported(8fab755)
Bug Fixes#
Add error message to
set_index(a32b747)Align column names with pandas in
DataFrame.aggresults (89b9503)Allow (but still not recommended)
ORDER BYinread_gbqinput when anindex_colis defined (89b9503)Check for IAM role on the BigQuery connection when initializing a
remote_function(89b9503)Check that types are specified in
read_gbq_function(a32b747)Don’t use query cache for Session construction (a32b747)
Include survey link in abstract
NotImplementedErrorexception messages (89b9503)Label temp table creation jobs with
source=bigquery-dataframes-templabel (89b9503)Make
X_trainargument names consistent across methods (8fab755)Raise AttributeError for unimplemented pandas methods (89b9503)
Raise exception for invalid function in
read_gbq_function(a32b747)Support spaces in column names in
DataFrameinitializater (89b9503)
Performance Improvements#
Documentation#
Add ML section under Overview (a32b747)
Add release status to table of contents (a32b747)
Add samples and best practices to
read_gbqdocs (a32b747)Correct the return types of Dataframe and Series (a32b747)
Create subfolders for notebooks (a32b747)
Fix link to GitHub (89b9503)
Highlight bigframes is open-source (a32b747)
Sample ML Drug Name Generation notebook (a32b747)
Set
options.bigquery.projectin sample code (89b9503)Transform remote function user guide into sample code (a32b747)
Update remote function notebook with read_gbq_function usage (8fab755)
0.2.0 (2023-08-17)#
Features#
Add KMeans.cluster_centers_.
Allow column labels to be any type handled by bq df, column labels can be integers now.
Add dataframegroupby.agg().
Add Series Property is_monotonic_increasing and is_monotonic_decreasing.
Add match, fullmatch, get, pad str methods.
Add series isin function.
Bug Fixes#
Update ML package to use sessions for queries.
Optimize
read_gbqwithindex_colset to cluster byindex_col.Raise ValueError if the location mismatched.
read_gbqno longer uses ‘time travel’ with query inputs.
Documentation#
Add docstring to _uniform_sampling to avoid user using it.
0.1.1 (2023-08-14)#
Documentation#
Correct link to code repository in
setup.pyand use correct terminology forconsole.cloud.google.comlinks.
0.1.0 (2023-08-11)#
Features#
Add
bigframes.pandaspackage with an API compatible with pandas. Supported data sources include: BigQuery SQL queries, BigQuery tables, CSV (local and GCS), Parquet (local and Cloud Storage), and more.Add
bigframes.mlpackage with an API inspired by scikit-learn. Train machine learning models and run batch predicition, powered by BigQuery ML.
0.0.0 (2023-02-22)#
Empty package to reserve package name.