如何仅为一个数据框熊猫编辑显示精度

时间:2019-01-04 07:33:36

标签: python pandas precision

我想编辑特定数据框的显示精度。

现在我看到有人说您可以使用类似这样的东西:

pd.set_option('precision', 5)

但是,如何确保只有一个特定的数据框使用此精度,而另一个保持原样? 另外,是否可以仅针对特定列更改此精度?

2 个答案:

答案 0 :(得分:1)

一种方法是float列的字符串表示形式:

np.random.seed(2019)
df = pd.DataFrame(np.random.rand(5,3), columns=list('abc'))
print (df)
          a         b         c
0  0.903482  0.393081  0.623970
1  0.637877  0.880499  0.299172
2  0.702198  0.903206  0.881382
3  0.405750  0.452447  0.267070
4  0.162865  0.889215  0.148476

df['a'] = df['a'].map("{:,.15f}".format)
print (df)
                   a         b         c
0  0.903482214419274  0.393081  0.623970
1  0.637877401022227  0.880499  0.299172
2  0.702198270186552  0.903206  0.881382
3  0.405749797979913  0.452447  0.267070
4  0.162864870291925  0.889215  0.148476

print (df.dtypes)
a     object
b    float64
c    float64
dtype: object

答案 1 :(得分:0)

此方法不会影响原始数据框。
df.style.set_precision(5)

对于一栏,您可以使用
df.style.format({'Column_Name':“ {:.5f}”})