2016-07-31 42 views
2

在Excel表中,我有兩列大數字。如何擺脫熊貓在Excel表中將大量數據轉換爲指數?

但是,當我閱讀read_excel Excel文件()和顯示數據幀,

那些兩列打印在具有指數科學格式。

如何擺脫這種格式?

感謝

產出熊貓

enter image description here

+0

你爲什麼想要?你知道,內部沒有任何區別。它只是可視化/輸出功能,認爲縮短它是個好主意。 – sascha

+0

是啊我同意,不習慣科學記數法..這就是爲什麼我更喜歡它的原始形式 –

回答

3

科學記數法應用於通過熊貓選項也controled方式:

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 

您可能會看到更多關於如何控制大熊貓輸出大熊貓文檔的Options and Settings部分。

編輯

如果這僅僅是對錶象的目的,可以將您的 數據轉換爲字符串,而在一列逐列基礎上格式化它們:

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 

另一種更簡單方法將把下面的行放在你的代碼的頂部,它只會格式化浮點數:

pd.options.display.float_format = '{:.2f}'.format 
+0

我已經應用這個'display.precision',但它似乎影響小數部分,它是整數部分,我想受影響 –

+0

您可以請給(i)你想達到的目標和(ii)你想要避免的目標的例子? –

+0

好的,(i)我想從我的excel文件中得到確切的數值(ii)我想避免使用科學形式表示最後兩列中的大數字的熊貓(http://imgur.com/a/9Ls6c) –