熊猫印刷选项

时间:2017-06-20 06:03:46

标签: python pandas

我想在我的控制台中打印不同的数字格式信息(不是'e'形式。示例:现在打印为-1.0e-02,我希望看到1.000,点后有3位数字。) / p>

  • Pandas 0.18.1
  • Python 2.7

Python代码

from pandas import set_option
set_option('display.width', 100)
set_option('precision', 3)
correlations = transformed_data['train'].corr(method='pearson')
print(correlations)

输出

    col0       col2   col4      col10  col11  col12      label      col14
col0   1.000e+00 -8.636e-05 -0.016  7.884e-02  0.049 -0.007  2.350e-01 -1.497e-02
col2  -8.636e-05  1.000e+00 -0.001 -1.936e-03 -0.003  0.019 -1.670e-03  1.068e-02
col4  -1.561e-02 -1.425e-03  1.000 -7.065e-03 -0.006  0.006  4.412e-03 -6.901e-03
col10  7.884e-02 -1.936e-03 -0.007  1.000e+00 -0.032  0.001  2.271e-01 -2.332e-04
col11  4.870e-02 -2.979e-03 -0.006 -3.157e-02  1.000 -0.003  1.416e-01 -5.507e-03
col12 -6.520e-03  1.852e-02  0.006  1.114e-03 -0.003  1.000  3.778e-03 -9.215e-03
label  2.350e-01 -1.670e-03  0.004  2.271e-01  0.142  0.004  1.000e+00  7.549e-04
col14 -1.497e-02  1.068e-02 -0.007 -2.332e-04 -0.006 -0.009  7.549e-04  1.000e+00

数据类型

print(transformed_data['train'].dtypes)

    col0     float64
    col1      object
    col2     float64
    col3      object
    col4     float64
    col5      object
    col6      object
    col7      object
    col8      object
    col9      object
    col10    float64
    col11    float64
    col12    float64
    col13     object
    label      int64
    col14    float64

1 个答案:

答案 0 :(得分:2)

由于您提到set_option('precision', 3),因此DataFrame会以value(示例)格式显示所有1.000,如您所愿, value < 1e-3(或0.001)时除外。

在这种情况下,该值不能截断为0.000。因此,保留了科学记数法 但是,A Pandas DataFrame为每列维护一种常量显示格式。因此,科学记数法保留在包含value < 1e-3

的整个列中

要确保所有值都以非科学格式显示,您可以使用:

set_option('precision', 6)

或者您可以在将所有值存储到DataFrame

之前截断或舍入所有值