在 Pandas 中将浮点数转换为整数?

新手上路,请多包涵

我一直在处理从 CSV 导入的数据。 Pandas 将一些列更改为浮动,所以现在这些列中的数字显示为浮点数!但是,我需要将它们显示为整数或不带逗号。有没有办法将它们转换为整数或不显示逗号?

原文由 MJP 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 860
2 个回答

要修改浮动输出,请执行以下操作:

 df= pd.DataFrame(range(5), columns=['a'])
df.a = df.a.astype(float)
df

Out[33]:

          a
0 0.0000000
1 1.0000000
2 2.0000000
3 3.0000000
4 4.0000000

pd.options.display.float_format = '{:,.0f}'.format
df

Out[35]:

   a
0  0
1  1
2  2
3  3
4  4

原文由 EdChum 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 pandas.DataFrame.astype(<type>) 函数来操作列数据类型。

 >>> df = pd.DataFrame(np.random.rand(3,4), columns=list("ABCD"))
>>> df
          A         B         C         D
0  0.542447  0.949988  0.669239  0.879887
1  0.068542  0.757775  0.891903  0.384542
2  0.021274  0.587504  0.180426  0.574300
>>> df[list("ABCD")] = df[list("ABCD")].astype(int)
>>> df
   A  B  C  D
0  0  0  0  0
1  0  0  0  0
2  0  0  0  0

编辑:

处理缺失值:

 >>> df
          A         B     C         D
0  0.475103  0.355453  0.66  0.869336
1  0.260395  0.200287   NaN  0.617024
2  0.517692  0.735613  0.18  0.657106
>>> df[list("ABCD")] = df[list("ABCD")].fillna(0.0).astype(int)
>>> df
   A  B  C  D
0  0  0  0  0
1  0  0  0  0
2  0  0  0  0

原文由 Ryan G 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进