パンダによるデータフレーム値の0.40から0.4への自動変換を停止するにはどうすればよいですか?pandas:パンダの自動停止から0.40を表示する0.4
私は解決策が「表示」オプションと書式設定と関係していると思いますか?私は情報を見つけることができません。
何かのように:
display.float_format(#.##)
パンダによるデータフレーム値の0.40から0.4への自動変換を停止するにはどうすればよいですか?pandas:パンダの自動停止から0.40を表示する0.4
私は解決策が「表示」オプションと書式設定と関係していると思いますか?私は情報を見つけることができません。
何かのように:
display.float_format(#.##)
あなたはdisplay.float_format
ためset_option
に引数としてフォーマット文字列オブジェクトを渡す必要があります:
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のモジュールであるpandasを熟知していません。 'to_excel'も' float_format' argをサポートしていると言っています:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.htmlこれで試してみることができます – EdChum
それは何の効果もありませんでしたが、それほど大事なことではありません。 –