我有一个镶木地板,上面有几个可为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
发生的。
如何告诉熊猫不要转换字段?