从 Google BigQuery 创建熊猫数据框时如何执行 na_values

Posted

技术标签:

【中文标题】从 Google BigQuery 创建熊猫数据框时如何执行 na_values【英文标题】:How to do na_values when creating pandas dataframe from Google BigQuery 【发布时间】:2019-05-29 18:35:07 【问题描述】:

我曾使用pd.read_csv(my_csv, na_values=['N/A', '--']) 将字符串 'N/A' 和 '--' 解释为 NULL、NaN 等。

但如果我使用 BigQuery 客户端,我不知道如何实现同样的壮举。我从 .to_dataframe() 中阅读了“从 QueryJob 返回 pandas DataFrame”的快速帮助,但它似乎没有接受任何额外的参数。

这可能吗?还是我必须进行自己的自定义后处理来跟踪缺失值?

【问题讨论】:

【参考方案1】:

你可以从下面达到同样的效果:

dataFrame.applymap(lambda x: np.nan if x in ['N/A', '--'] else x)

【讨论】:

【参考方案2】:

如果您在将结果输入数据框之前运行某些查询,则可以在 BigQuery 端轻松执行此操作,而无需担心在客户端过滤您的结果。

IF(column in ('N\A', '--'), null, column) as column 之类的东西应该可以为您完成这项工作。

【讨论】:

以上是关于从 Google BigQuery 创建熊猫数据框时如何执行 na_values的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何使用 pandas 数据框更新(覆盖)Google BigQuery 表

Google 数据准备 - 无法从 BigQuery 导入表(从 Google 表格创建)“未找到”

从数据框列表创建单个熊猫数据框

如何从网络抓取创建熊猫数据框?

从熊猫数据框创建嵌套字典

从字典创建熊猫数据框