繁体   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