【发布时间】:2018-06-02 10:27:12
【问题描述】:
我正在尝试选择数据框子集的子集,仅选择一些列,然后对行进行过滤。
df.loc[df.a.isin(['Apple', 'Pear', 'Mango']), ['a', 'b', 'f', 'g']]
但是,我收到了错误:
Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.
现在切片和过滤的正确方法是什么?
【问题讨论】:
-
这不是错误,而是警告。但它告诉您的是您的标签之一,可能是您的列标签,不包含在数据框中。当前的行为将是静默失败并返回带有
NaNs 的列。将来,它会引发错误。 -
谢谢,我误解了索引的含义 - 以及重新索引的相关性。是的,我只是在我的一个标签上打错了。
-
是的,我同意关于
.reindex()的那一点令人困惑。编辑虽然当您阅读 this 时它是有意义的
标签: python pandas filter slice