如果我的格式被关闭了,那么第一次发帖会提前道歉。在
我的问题是:
我创建了一个包含多行文本的Pandas数据框:
d = {'keywords' :['cheap shoes', 'luxury shoes', 'cheap hiking shoes']}
keywords = pd.DataFrame(d,columns=['keywords'])
In [7]: keywords
Out[7]:
keywords
0 cheap shoes
1 luxury shoes
2 cheap hiking shoes
现在我有一个包含以下键/值的字典:
^{pr2}$我想做的是找出字典中的键是否存在于数据帧中,如果存在,则返回适当的值
我可以通过以下方法达到目的:
for k,v in labels.items():
keywords['Labels'] = np.where(keywords['keywords'].str.contains(k),v,'No Match')
但是,输出缺少前两个键,只捕获最后一个“徒步”键
keywords Labels
0 cheap shoes No Match
1 luxury shoes No Match
2 cheap hiking shoes sport
另外,我还想知道是否有办法在字典中捕捉以|分隔的多个值,因此理想的输出应该如下所示
keywords Labels
0 cheap shoes budget
1 luxury shoes expensive
2 cheap hiking shoes budget | sport
任何帮助或指导都将不胜感激。在
干杯
您可以使用}使用的模式。在
"|".join(labels.keys())
获得{当然有可能。有一种方法。在
坚持你的方法,你可以这样做
相关问题 更多 >
编程相关推荐