2
如何阻止大熊貓在數據幀值中自動將0.40轉換爲0.4?熊貓:停止熊貓自動顯示0.40爲0.4
我相信該解決方案與'顯示'選項和格式有關?但我找不到任何信息。
類似:
display.float_format(#.##)
如何阻止大熊貓在數據幀值中自動將0.40轉換爲0.4?熊貓:停止熊貓自動顯示0.40爲0.4
我相信該解決方案與'顯示'選項和格式有關?但我找不到任何信息。
類似:
display.float_format(#.##)
你需要傳遞一個格式字符串對象作爲對Arg的set_option
爲display.float_format
:
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
使用列表推導來更改特定的所有值系列。將.2
更改爲您想要的任何級別的精度。
a = ["{0:.2f}".format(val) for val in df.column_name]
df.loc[:,'column_name'] = a
這正是我一直在尋找的。打印df顯示的值正確,但是當我將df寫入excel時,它仍然是0.4?任何想法? –
雖然這只是一個顯示格式問題?例如,當你移動到特定的單元格時,它顯示的是什麼值?我不確定這會影響數據如何導出,我不熟悉python excel模塊,它是什麼熊貓。說'to_excel'也支持'float_format'參數:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html所以你可以試試 – EdChum
試過,沒有任何效果,沒有那麼重要,現在如此豎起大拇指,再次感謝埃德! –