【发布时间】:2020-08-19 00:37:14
【问题描述】:
我正在尝试过滤两列。我正在寻找来自Col1 或Col2 的包含单词"car washing" 和"train" 的行。
我试过如下:
filtered=df[df['Col1','Col2'].str.lower().str.contains('car washing','train')]
但是,我收到以下错误:
2645 try:
-> 2646 return self._engine.get_loc(key)
2647 except KeyError:
...
KeyError: ('Col1', 'Col2')
您能否告诉我为什么会收到此错误以及如何解决?
谢谢
【问题讨论】:
-
要访问列列表,应使用双括号:
df[['Col1','Col2']]。 -
谢谢@QuangHoang。我错过了
-
但是,在编辑后,我收到以下错误:
AttributeError: 'DataFrame' object has no attribute 'str' -
@still_learning 是你的条件 both '洗车' 和 'train' 还是 either 匹配工作?您可以执行以下操作:stackoverflow.com/questions/61390726/…,尽管使用 DataFrame,我们需要按列应用它,而不是太不同。
-
嗨@ALollz。它既适用于“洗车”,也适用于“火车”