【问题标题】:Conforming dataframe dtypes between read_excel() and to_excel()符合 read_excel() 和 to_excel() 之间的数据帧 dtypes
【发布时间】:2014-10-02 18:16:08
【问题描述】:

我正在从包含有关供应商的行和列的 excel 文件(特别是 xlsx)中读取数据框,包括 zip_code 和 tax_id 列。当数字被读入,然后我转换列astype(unicode),tax_id 123456789 变为 123456789.0。

我不想转换为 int 然后 mod / truncate (因为,在 zip_code 和理论上 tax_id 的情况下,'07443' 将转换为 7443 这不好)。我只想剪辑“.0”并让 to_excel() 将整个列视为字符串(更具体地说是 unicodes)。

有时 read_excel() 会正确地将数字识别为字符串(实际上,07443 就是一个很好的例子)。但是,在 tax_id 的情况下,它显然是以某种形式出现的(即使在我键入(unicode)它之前,'.0' 不会出现。

我尝试过的一件事是df.astype(unicode).replace(".0",""),但这似乎并没有完成。结果 df 仍然显示 123456789.0。

我不知道如何用代码说明这一点,因为您需要一个 Excel 文件,我无法附加该文件。我愿意接受有关如何在必要时澄清我的问题的建议。

谢谢!

【问题讨论】:

    标签: python excel pandas dataframe


    【解决方案1】:

    嗯,一件事似乎在起作用(我想这说明了熊猫的厉害):

    df['tax_id'].replace(".0$","",regex=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      相关资源
      最近更新 更多