如何阻止pandas在数据帧值中自动将0.40转换为0.4?
我认为解决方案与“显示”有关。选项和格式?但我找不到任何信息。
类似的东西:
display.float_format(#.##)
答案 0 :(得分:3)
您需要将格式字符串对象作为display.float_format
的{{3}}传递给In [167]:
pd.set_option('display.float_format', '{0:.2f}'.format)
df = pd.DataFrame(np.random.randn(5,3))
df
Out[167]:
0 1 2
0 0.84 -0.91 -1.44
1 1.82 0.38 -0.47
2 -0.07 2.09 1.81
3 0.09 -2.05 -0.92
4 0.26 -1.94 -1.09
:
In [168]:
df.iloc[0][0]
Out[168]:
0.84179409715165521
基础数据不受影响:
data <- array(1:27, dim=c(3,3,3), dimnames = list(11:13,11:13,11:13))
答案 1 :(得分:0)
使用列表推导来更改特定系列中的所有值。将.2
更改为您想要的任何精度级别。
a = ["{0:.2f}".format(val) for val in df.column_name]
df.loc[:,'column_name'] = a