[英]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.