舍入 pandas.DataFrame 的正确方法?

新手上路,请多包涵

我想要圆 pandas.DataFrame

到目前为止,这是我尝试过的:

 import pandas as pd
data = pd.DataFrame([1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0])
print(round(data))

但是当我运行这段代码时,出现以下错误:

 Traceback (most recent call last):
  File "C:\Users\*****\Documents\*****\******\****.py", line 3, in <module>
    print(round(data))
TypeError: type DataFrame doesn't define __round__ method

pandas.DataFrame 的正确方法是什么?

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

阅读 514
2 个回答

首先,您可能想要更改数据框的定义,例如:

 data = pd.DataFrame([[1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0]]).T

结果是:

      0    1
0  1.4  6.2
1  2.5  7.6
2  3.8  8.8
3  4.4  9.1
4  5.6  0.0

或者:

 data = pd.DataFrame({'A':[1.4,2.5,3.8,4.4,5.6],'B':[6.2,7.6,8.8,9.1,0]})

这样你就得到两列,否则另一个列表被选为索引;然后:

 data.apply(pd.Series.round)

或者

import numpy as np
data.apply(np.round)

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

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