簡體   English   中英

如何僅將csv文件中的特定列加載到DataFrame中

[英]How to load only specific columns from csv file into a DataFrame

假設我有一個400列的csv文件。 我無法將整個文件加載到DataFrame中(無法容納在內存中)。 但是,我實際上只想要50列,這將適合內存。 我看不到任何內置的Pandas方式可以做到這一點。 你有什么建議? 我願意使用PyTables接口或pandas.io.sql

最好的情況是像這樣的函數: pandas.read_csv(...., columns=['name', 'age',...,'income']) 即,我們傳遞將要加載的列名(或數字)的列表。

伊恩(Ian),我實現了一個usecols選項,該選項完全符合您的描述。 即將到來的熊貓0.10; 開發版本即將推出。


由於0.10 ,您可以使用usecols

df = pd.read_csv(...., usecols=['name', 'age',..., 'income'])

目前沒有默認方法可以執行此操作。 我建議對文件進行分塊並對其進行遍歷,然后丟棄不需要的列。 所以像pd.concat([x.ix[:, cols_to_keep] for x in pd.read_csv(..., chunksize=200)])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM