所以,我有我采取其他三列似乎无法缩短我的大熊猫列的十进制数字
df['Avg_Grade'] = df.loc[:,'G1':'G3'].mean(axis =1)
该系列看起来像这样(只是一个样本的平均创造了DF列)
Avg_Grade
0 5.666667
1 5.333333
2 8.333333
3 14.666667
4 8.666667
我试图截断输出到显示类似
0 5.67 (5.66 is also fine)
1 5.33
2 8.33
3 14.67
4 8.67
我用模块Decimal
玩了下面的代码,但是出现错误。
from decimal import *
getcontext().prec = 4
df['Avg_Grade'] = Decimal(df.loc[:,'G1':'G3'].mean(axis =1))
Traceback (most recent call last):
File "<pyshell#409>", line 1, in <module>
df['Avg_Grade'] = Decimal(df.loc[:,'G1':'G3'].mean(axis =1))
File "C:\Python27\lib\decimal.py", line 657, in __new__
raise TypeError("Cannot convert %r to Decimal" % value)
TypeError: Cannot convert 0 5.666667
尝试'df.Avg_Grade.round(2)' – piRSquared
感谢这似乎工作! – Moondra