有很多主题描述python 3舍入问题,以及如何将其求解为单个值,但是我找不到如何在pandas数据框中舍入值。
input:
A,B
1.5,2
1.2,3
2.5,1
df['A']=df['A'].astype(float).round(decimals=0)
output in python 2:
A,B
2,2
1,3
3,1
output in python 3:
A,B
1,2
1,3
2,1
如何从python 3中的python 2中获得pandas列的结果?
我尝试将其转换为小数,但不适用于熊猫。
我的解决方法是:
df['A']=np.floor(df['A'].astype(float)+0.5)
有更好的主意吗?
答案 0 :(得分:0)
您可以使用numpy.around
在python3中四舍五入为数据框。
https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.around.html
这是一个例子
import pandas as pd
import numpy as np
df = pd.DataFrame([[1.5,2],[1.2,3]])
print(df)
>>> 0 1
0 1.5 2
1 1.2 3
df = np.around(df)
print(df)
>>> 0 1
0 2.0 2
1 1.0 3
答案 1 :(得分:0)
在python 3中为我做这件事的最好方法是:
df['A']=np.floor(df['A'].astype(float)+0.5)
目前我看不到更好的方法
致谢