首页 > 解决方案 > Python Pandas 丢弃列耗尽资源 - 被杀死

问题描述

我正在尝试使用这样的 Pandas 从大型数据集中删除列...

data = pd.read_csv("dataset.csv", )
data.drop(data.columns[[0, 1, 2]], axis=1, inplace=True)

数据集的读取工作正常,但是当发生下降时,它会给出一个“被杀死”的错误,我假设这是由于缺乏资源。

是否有另一种更有效的方法来删除列?

标签: pythonpandas

解决方案


当您阅读 CSV时,您可以避免首先加载它们。这可以通过以下usecols参数来完成pd.read_csv

data = pd.read_csv("dataset.csv", usecols=[3, 4, 5])

usecols:类列表或可调用,可选返回列的子集。如果类似列表,则所有元素必须是位置的(即文档列的整数索引)或与用户在名称中提供的列名或从文档标题行推断的列名相对应的字符串。例如,一个有效的类似列表的 usecols 参数将是 [0, 1, 2] 或 ['foo', 'bar', 'baz']。


推荐阅读