Python 环绕pandas.DataFrame的正确方法?

Python 环绕pandas.DataFrame的正确方法?,python,pandas,rounding,Python,Pandas,Rounding,我想要圆形的熊猫。数据框 以下是我迄今为止所尝试的: 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

我想要圆形的熊猫。数据框

以下是我迄今为止所尝试的:

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
回溯(最近一次呼叫最后一次):
文件“C:\Users\******\Documents\*********************.py”,第3行,在
打印(圆形(数据))
TypeError:类型DataFrame未定义_round__方法

熊猫数据框的取整正确方法是什么?

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

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.apply(pd.Series.round)


由于熊猫0.17.0,您可以使用

DataFrame.round(decimals=0, *args, **kwargs)
如果要将数据四舍五入到2位小数,请执行以下操作:

data.round(2)
更多信息请点击此处:

这只对第一列进行取整您制作数据帧的方式,另一列是索引,熊猫将函数应用于列而不是索引。关于系列,我如何对它们进行取整?系列有方法
round
,所以只要
ts.round
这里是最好的解决方案:
np.round(数据,小数=0)
Dup of
DataFrame.round(decimals=0, *args, **kwargs)
data.round(2)