Excelシートに、大きな数値の2つの列があります。
しかし、read_Excel()でExcelファイルを読み取ってデータフレームを表示すると、
これらの2つの列は指数形式の科学形式で出力されます。
この形式を取り除くにはどうすればよいですか?
ありがとう
パンダでの出力
科学表記法の適用方法は、パンダのオプションを介して制御されます。
import pandas as pd
pd.set_option('display.precision',3)
pd.DataFrame({'x':[.001]})
x
0 0.001
だが
pd.DataFrame({'x':[.0001]})
x
0 1.000e-04
だが
pd.set_option('display.precision',4)
pd.DataFrame({'x':[.0001]})
x
0 0.0001
pandas Options and Settings セクションの出力を制御する方法の詳細については、pandas docs。
[〜#〜]編集[〜#〜]
これが単に表示の目的である場合、列ごとにフォーマットしながらデータを文字列に変換できます。
df = pd.DataFrame({'Traded Value':[67867869890077.96,78973434444543.44],
'Deals':[789797, 789878]})
df
Deals Traded Value
0 789797 6.786787e+13
1 789878 7.897343e+13
df['Deals'] = df['Deals'].apply(lambda x: '{:d}'.format(x))
df['Traded Value'] = df['Traded Value'].apply(lambda x: '{:.2f}'.format(x))
df
Deals Traded Value
0 789797 67867869890077.96
1 789878 78973434444543.44
もう1つのより簡単な方法は、浮動小数点のみをフォーマットする次の行をコードの先頭に置くことです。
pd.options.display.float_format = '{:.2f}'.format