使用 pandas-gbq 将空值插入 BigQuery
Inserting Null values into BigQuery using pandas-gbq
我有一个 BigQuery table,我希望使用 pandas-gbq 来填充它。 table 有一个预定义的模式,其中包括可为空的 int 和字符串字段。目前,我正在为每个数据字段生成一个列表的 dict
,并在缺少值时放置 pandas.NA
或 None
(我都试过了)。我目前缺少可为空的 int
字段之一的值,例如:
df_dict = {'ints': [1,2,None, 3], 'strings': ['a','b','c','d']}
df = pandas.DataFrame(df_dict)
df.astype({"ints":"int", "strings":"object"}) # throws error on None in ints
最终我想使用预先存在的架构将其上传到 BigQuery,因此我需要 pandas-gbq
和 BigQuery 本身可以接受的空值格式。有什么想法吗?
您可以尝试使用它在 pandas
中将列转换为整数类型
df.astype({"ints":"Int64", "strings":"object"})
应该能够处理无值或空值。除此之外,您必须确保 BigQuery 中的列被定义为可空。
我有一个 BigQuery table,我希望使用 pandas-gbq 来填充它。 table 有一个预定义的模式,其中包括可为空的 int 和字符串字段。目前,我正在为每个数据字段生成一个列表的 dict
,并在缺少值时放置 pandas.NA
或 None
(我都试过了)。我目前缺少可为空的 int
字段之一的值,例如:
df_dict = {'ints': [1,2,None, 3], 'strings': ['a','b','c','d']}
df = pandas.DataFrame(df_dict)
df.astype({"ints":"int", "strings":"object"}) # throws error on None in ints
最终我想使用预先存在的架构将其上传到 BigQuery,因此我需要 pandas-gbq
和 BigQuery 本身可以接受的空值格式。有什么想法吗?
您可以尝试使用它在 pandas
中将列转换为整数类型df.astype({"ints":"Int64", "strings":"object"})
应该能够处理无值或空值。除此之外,您必须确保 BigQuery 中的列被定义为可空。