【发布时间】:2015-11-30 05:51:25
【问题描述】:
注意:我的问题不是this one,而是更微妙的问题。
假设我有一个看起来像这样的数据框
df =
A B C
0 3 3 1
1 2 1 9
df[["A", "B", "D"]] 将引发KeyError。
有没有 python pandas 方法让df[["A", "B", "D"]] == df[["A", "B"]]? (即:只选择存在的列。)
一个解决方案可能是
good_columns = list(set(df.columns).intersection(["A", "B", "D"]))
mydf = df[good_columns]
但这有两个问题:
- 它笨重且不雅。
-
mydf.columns的排序可能是["A", "B"]或["B", "A"]。
【问题讨论】:
标签: python pandas dataframe keyerror