我正在尝试过滤两列。我正在寻找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')
能否请您告诉我为什么会收到此错误以及如何解决?
谢谢
答案 0 :(得分:3)
您可以这样做:
filtered=df[df[['Col1','Col2']].sum(axis=1).str.contains('car washing|train', case=False)]
答案 1 :(得分:0)
此处的KeyError最有可能是指名称为'Col1'和'Col2'的列不存在。导入数据集时,可以使用sep ='\ s *,\ s *'处理列名中的空格。请参阅:Key error when selecting columns in pandas dataframe after read_csv