代码之家  ›  专栏  ›  技术社区  ›  micah

Pandas将NULL Int64转换为Float64

  •  0
  • micah  · 技术社区  · 6 年前

    我有一个镶木地板,有几个可以为null的Int64列。当我读入parquet表时,转换为pandas,然后转换回parquet,这些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)
    

    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'的列通知转换失败')

    我相信这是发生在 to_pandas

    我怎么能告诉熊猫不要转换田地?

    0 回复  |  直到 6 年前