我想在我的控制台中打印不同的数字格式信息(不是'e'形式。示例:现在打印为-1.0e-02,我希望看到1.000,点后有3位数字。) / p>
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
答案 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
之前截断或舍入所有值