熊猫使用除了最后一个以外的所有

时间:2015-10-29 21:00:10

标签: python pandas

我有一个csv文件,在使用usecols而不列出所需的每一列时,是否可以read_csv获取除最后一列之外的所有列。

例如,如果我有一个13列文件,我可以usecols=[0,1,...,10,11]。执行usecols=[:-1]会给我语法错误吗?

还有另一种选择吗?我正在使用pandas 0.17

2 个答案:

答案 0 :(得分:6)

您可以使用nrows=1读取一行来获取cols,然后通过从第一次读取切片列数组,在完整的csv中重新读取跳过最后一个col:

cols = pd.read_csv(file, nrows=1).columns
df = pd.read_csv(file, usecols=cols[:-1])

答案 1 :(得分:5)

从版本app.config(function ($routeProvider) { $routeProvider.when("login", {templateUrl: "login.html", controller: "login.is"}; // other path mappings }); 开始,pandas中的0.20方法接受可调用的过滤器,即usecols表达式。因此,如果您知道要跳过的列的名称,则可以执行以下操作:

lambda

这是文档reference