是否可以从数据帧中选择给定列表的否定?。例如,假设我有以下数据帧
T1_V2 T1_V3 T1_V4 T1_V5 T1_V6 T1_V7 T1_V8
11532NBN
41614145HBN
10105KN
我想去掉所有的列,除了T1列。我通常会这样做:
df=df[[“T1_V2”、“T1_V3”、“T1_V4”、“T1_V5”、“T1_V7”、“T1_V8”]]
我的问题是,是否有另一种方法,像这样
df=df[![“T1_V6”]]
做:
df[df.columns.difference([“T1_V6”])]
评论中的注释:
-
这将对列进行排序。如果您不想排序,请使用
sort=False调用difference -
如果删除的列名不存在,
差异不会引发错误。如果您想在列不存在的情况下引发错误,请按照其他答案中的建议使用drop:df.drop([“T1_V6”])
`