2014-03-06 20 views
2

在我希望導入的csv文件中,我有一個精度爲納秒的列Timestamp: 34200.154875632等等。Python:pd.read_csv - 導入小數點後的所有數字

當我寫:

dfr = pd.read_csv(files,index_col=None,usecols=['Timestamp','Price'], header=0,dtype=np.float) 
df=DataFrame(dfr) 

我不與Timestamp與所有漂亮的小數列...只有六個獲得DataFrame。我試圖玩輸入dtype=np.float但沒有結果。 pd.read_csv中缺少所有9位小數的參數是什麼?

+0

你也使用NumPy的? – Drewness

+0

是的,我也在使用numpy – Plug4

+1

您的數據確實具有完整的精度,它只是將數據的_displayed representation_截斷爲6位小數。 –

回答

1

我找到了正確的代碼

import Pandas 
pd.options.display.float_format = '{:20,.2f}'.format 
1

這可能是由於熊貓的打印精度。看看pandas.set_printoptions。

看起來pandas.set_printoptions現在已經過時,在V0.13,似乎使用pandas.set_option

+1

因爲這是一個'pandas.DataFrame',所以OP將需要使用'pandas.set_printoptions'來代替。 –

+0

好點,將更新 – reptilicus

+0

這是我的set_options: 'pd.set_option( 'display.height',1000) pd.set_option( 'display.max_rows',5000) pd.set_option( 'display.max_columns' ,30) pd.set_option('display.width',1000)' 並且它不會更改爲帶有6位小數的打印。我將不得不看這更詳細 – Plug4