从 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
这样的东西应该可以为您完成这项工作。
我曾使用 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
这样的东西应该可以为您完成这项工作。