Pandas:按不想要的列名子集数据框

3
为了按列名对数据框进行子集化,我通常会这样做:
df[['A', 'B']]

假设现在有一个数据框(df),其列名为['A','B','C','D']。

现在,如果我想获取除'B'以外的所有列,应该怎么做呢?下面这个方法是行不通的:

list(df.columns.values) = ['A', 'B', 'C', 'D']
df[!['B']]
2个回答

2
使用 drop 方法
df.drop('B', axis=1)

drop 命令也可以接受一个列名列表,如果你想要删除多个列。


0

您可以使用ix来实现这一点,通过请求您想要的行(在本例中为全部)和您想要的列(或不想要的列)。例如:

df.ix [:, df.columns != 'B']

将为您获取除“B”列之外的所有列的所有行


当我不想要B和C时,我该怎么做? - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接