我的熊猫数据帧突然不显示十进制数字?大熊猫有什么变化吗?



我创建了许多数据帧,所有值都应该是小数点后3位。这就是它的作用,也是它上周的作用。今天早上,当我运行Jupyter笔记本时,它突然把所有数据帧中的所有内容四舍五入为整数。

我不知道为什么。熊猫有什么变化吗,有我可以改变的设置吗?当我打印所有列的dtypes时,它说它们是float,我试着在数据框上使用round,但它没有做任何事情。我的意思是:

上周的样子:

Jan 2021   Feb 2021   Jul 2021  Aug 2021
A      0.7      0.938       0.80      0.75
B      0.3      0.062       0.08      0.20
C      0.0       0.0        0.12      0.05
D      0.0       0.0         0.0      0.0

我从上周在回归到一个检查站Jupyter笔记本和能够看到去年运行时,可以看到这些数字,但即使我跑后恢复回到旧的检查点,这种新变化,这就是现在的样子(今天早上当我跑它不期望这个问题,当我重新的以前版本没有这个问题几天前):

Jan 2021   Feb 2021   Jul 2021  Aug 2021
A       1          1         1           1
B       0          0         0           0
C       0          0         0           0
D       0          0         0           0

所以我想知道熊猫是否有什么变化?还有其他人发生过这种事吗?同样重要的是要注意,当我打印每个列表时,这些列由这些值组成,仍然显示第一个数据帧中的正确数字,带有3位小数点

编辑:

用于创建数据框架列的代码:

deca=round((len(decemberprediction[decemberprediction['COST_TYPE_A']==1])/len(decemberprediction)),3)
decb=round((len(decemberprediction[decemberprediction['COST_TYPE_B']==1])/len(decemberprediction)),3)
decc=round((len(decemberprediction[decemberprediction['COST_TYPE_C']==1])/len(decemberprediction)),3)

decd=round((len(decemberprediction[decemberprediction['COST_TYPE_D']==1])/len(decemberprediction)),3)

deccontractmix = [decb十,能源与气候变化部称,decd]打印(deccontractmix)

返回[0.643,0.25,0.036,0.0]

然后创建数据框架,我有所有其他的月份列也有结果列表和自己的值,然后执行:

predcontractmix=pd.DataFrame([[jancontractmix[0],febcontractmix[0],julcontractmix[0],augcontractmix[0],sepcontractmix[0],octcontractmix[0],novcontractmix[0],deccontractmix[0]], 
[jancontractmix[1],febcontractmix[1],julcontractmix[1],augcontractmix[1],sepcontractmix[1],octcontractmix[1],novcontractmix[1],deccontractmix[1]],
[jancontractmix[2],febcontractmix[2],julcontractmix[2],augcontractmix[2],sepcontractmix[2],octcontractmix[2],novcontractmix[2],deccontractmix[2]],
[jancontractmix[3],febcontractmix[3],julcontractmix[3],augcontractmix[3],sepcontractmix[3],octcontractmix[3],novcontractmix[3],deccontractmix[3]]], columns=['Jan 2021', 'Feb 2021','Jul 2021','Aug 2021','Sept 2021', 'Oct 2021', 'Nov 2021','Dec 2021'])
predcontractmix.index=contractlabels
predcontractmix=pd.merge(predcontractmix,contractmix, left_on=predcontractmix.index, right_on=contractmix.index, how='outer')
predcontractmix=predcontractmix.rename(columns={'key_0':'Contract Type'})
predcontractmix=predcontractmix.set_index('Contract Type')
print('nContract Mix                                                                       percent,median')
predcontractmix.head(6)

合并是一个类似的数据框架,具有相同的行,但只有2个ytd列

我能够解决这个问题,为将来遇到同样问题的任何人回答:

我尝试了所有这些,但它们都不适合我:

  • 添加pd.options.display。float_format到我的笔记本的顶部
  • 添加%精度%。3f到我的笔记本的顶部
  • 在笔记本顶部添加pd.set_option("precision", 5)

最后对我起作用的是在我的笔记本顶部添加以下内容:

  • pd.options.display。float_format = '{:,.3f}'.format

相关内容

  • 没有找到相关文章

最新更新