从 Google BigQuery 创建 pandas 数据框时如何做 na_values

How to do na_values when creating pandas dataframe from Google BigQuery

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

但如果我使用 BigQuery 客户端,我不知道如何实现同样的壮举。我阅读了 .to_dataframe() 的快速帮助 "Return a pandas DataFrame from a QueryJob" 但它似乎没有接受任何额外的论点。

这可能吗?或者我必须做我自己的自定义 post-processing 来跟踪缺失值?

你可以从下面实现同样的目标:

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

如果您 运行 在将结果输入数据框之前进行一些查询,您可以轻松地在 BigQuery 端执行此操作,而不必担心在客户端过滤结果。

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