我想编辑特定数据框的显示精度。
现在我看到有人说您可以使用类似这样的东西:
pd.set_option('precision', 5)
但是,如何确保只有一个特定的数据框使用此精度,而另一个保持原样? 另外,是否可以仅针对特定列更改此精度?
答案 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}”})