Python 熊猫除了最后一只外,其他都用

Python 熊猫除了最后一只外,其他都用,python,pandas,Python,Pandas,我有一个csv文件,在使用read\u csv时,是否可以让usecols获取除最后一列以外的所有列,而不列出所需的每一列 例如,如果我有一个13列的文件,我可以执行usecols=[0,1,…,10,11]。执行usecols=[:-1]会给我带来语法错误吗 还有其他选择吗?我使用的是pandas 0.17您可以使用读取一行来获取col,然后在完整csv中重新读取,通过从第一次读取中切片列数组跳过最后一个col: cols = pd.read_csv(file, nrows=1).column

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

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


还有其他选择吗?我使用的是
pandas 0.17

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

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

从版本
0.20
开始,pandas中的
usecols
方法接受可调用的过滤器,即
lambda
表达式。因此,如果您知道要跳过的列的名称,可以执行以下操作:

columns_to_skip = ['foo','bar']
df = pd.read_csv(file, usecols=lambda x: x not in columns_to_skip )
这是文件