【发布时间】:2018-06-28 01:48:29
【问题描述】:
我有一个如下所示的熊猫数据框。我想在数据框的每一行中搜索一个文本,并突出显示该文本是否出现在该行中。
例如,我想在每一行中搜索“jones”。我想忽略我的搜索词的大小写。在下面的情况下,我想在名为“jones”的数据中添加一个新列,它的值将是 1,1,0,因为在第一行和第二行中找到了该词
我找到了this 帖子,它显示了如何在列中查找文本,但是当我有很多列时我怎么能找到文本 - 比如 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
【问题讨论】: