熊猫将NULL Int64转换为Float64

时间:2018-11-15 21:13:36

标签: python pandas numpy parquet pyarrow

我有一个镶木地板,上面有几个可为Int64的可空列。当我读进镶木地板表时,转换为熊猫,然后转换回镶木地板,这些Int64列将变为Float64(我假设因为可为空)。

pq_table = self.pq.read_table('path/to/file.parquet')
df = pq_table.to_pandas()
new_pq_table = self.pa.Table.from_pandas(df)

我不想将Int64强制转换为Float64,所以我尝试指定架构-

pq_table = self.pq.read_table('path/to/file.parquet')
df = pq_table.to_pandas()
new_pq_table = self.pa.Table.from_pandas(df, schema=pq_table.schema)

导致以下错误-

  

ArrowInvalid(“浮点值被截断”,“类型为float64的notification_id列转换失败)

我相信这是在to_pandas发生的。

如何告诉熊猫不要转换字段?

0 个答案:

没有答案