用途:BigFrames(BigQuery DataFrame)是一个 Python 库,让开发者用熟悉的 Python API 利用 BigQuery 的数据处理能力。本技能用于生成使用 BigFrames 的 Python 代码,默认适用于任何涉及 BigQuery 的 Python 数据任务,包括数据处理、分析等。
主要能力与编码准则:避免使用 .to_pandas() 将整个数据集下载到内存,例外是错误信息明确要求使用,或需要可视化且绘图库不接受 BigFrames 的 DataFrame/Series 实例(此时应先减少下载数据量)。不要用 read_gbq() 执行 SQL 查询,应改用 BigFrames 的 DataFrame/Series 方法。机器学习任务应使用 BigFrames ML 包,从 bigframes.ml 导入工具与类,不要搭配 Scikit-learn 等库。数据清洗、转换与分析尽量通过 BigFrames 方法在云端完成,以利用 BigQuery 的规模。优先使用内置访问器(如 df.col.str.、df.col.dt.)而非远程 UDF,不要在 Series.map() 或 DataFrame.apply() 中使用 lambda。不要假设中间输出的 schema,加载后检查 .dtypes,并用 display() 配合 .head() 或 .peek() 查看。可视化方面,BigFrames DataFrame 大多可直接配合 Matplotlib、Seaborn 等绘图库;若失败可尝试 plot 访问器,仍失败则必须先采样或聚合,使数据足够小后再调用 to_pandas()。
模型开发:BigFrames 的 predict() 始终返回同时包含预测与特征的 DataFrame,而非仅预测序列。实例化 BigFrames ML 模型时不要传 random_state。除非明确要求,不要使用 OneHotEncoder 或 StandardScaler,这些会自动处理。超参数调优需自行编写循环,因为没有 GridSearchCV 或 RandomizedSearchCV。ARIMA Plus 预测需从 bigframes.ml.forecasting 导入,训练前按时间排序并在某个时间点切分,预测范围必须小于或等于训练范围。PCA 类没有简单的 transform() 方法,应改用 predict()。模型持久化用 model.to_gbq(),加载已持久化模型用 bpd.read_gbq_model()。
限制:资料未提供安装命令、收费、平台支持范围等细节,暂未提供。