我有一个如下所示的熊猫数据框。我想在数据帧的每一行中搜索文本,并突出显示该文本是否出现在该行中。
例如,我想在每一行中搜索“jones”。我想忽略搜索词的大小写。在下面的情况下,我想向名为“jones”的数据添加一个新列,它的值将是 1,1,0,因为该单词在第一行和第二行中找到
I found this https://stackoverflow.com/questions/32616261/filtering-pandas-dataframe-rows-by-contains-str帖子展示了如何在列中查找文本,但是当我有很多列(例如 50+)时,如何找到文本?我考虑过连接所有列并创建一个新列,但没有看到任何可以连接数据帧的所有列的函数(不需要输入每个列名称)
我想对我拥有的多个关键字执行此操作。例如我有关键字列表LLC, Co, Blue, alpha
还有更多 (30+)
sales = [{'account': 'Jones LLC', 'Jan': '150', 'Feb': '200', 'Mar': '140'},
{'account': 'Alpha Co', 'Jan': 'Jones', 'Feb': '210', 'Mar': '215'},
{'account': 'Blue Inc', 'Jan': '50', 'Feb': '90', 'Mar': '95' }]
df = pd.DataFrame(sales)
来源DF:
Feb Jan Mar account
0 200 150 140 Jones LLC
1 210 Jones 215 Alpha Co
2 90 50 95 Blue Inc
所需的DF:
Feb Jan Mar account jones llc co blue alpha
0 200 150 140 Jones LLC 1 1 0 0 0
1 210 Jones 215 Alpha Co 1 0 1 0 1
2 90 50 95 Blue Inc 0 0 0 1 0