提问人:Stanleyrr 提问时间:2/12/2023 更新时间:2/12/2023 访问量:213
Pandas 拉取任何列包含特定字符串的行
Pandas pull rows where any column contains certain strings
问:
我正在尝试返回我的任何列包含单词列表中任何单词的行。比方说.我尝试了以下代码。word_list = ['Synthetic', 'Advanced or Advantage/Excellence']
df[df.apply(' '.join, 1).str.contains('|'.join(word_list))]
问题是我的一些列包含空值,所以在运行该代码后,我得到了错误(也许 Pandas 将空值视为“int”类型?TypeError: sequence item 0: expected str instance, int found
无论如何,我都可以以 Pandas 可以忽略 null 值或将 null 值视为字符串的方式构建我的代码,以便我的函数可以工作?
答:
4赞
Pedro Rocha
2/12/2023
#1
问题是您正在尝试连接 an 和 a ,您可以尝试以下操作:int
str
df[df.apply(lambda x: x.astype(str).str.contains('|'.join(word_list), case=False).any(), axis=1)]
我已经在列中使用 int/float/NaNs 尝试过这个,对我来说效果很好。
评论
df.dropna(inplace=True)