python字典查询多个值_python – 在Pandas Dataframe中查找多个字典键并返回多个匹配值...

如果我的格式化关闭,第一次发布如此道歉.

这是我的问题:

我创建了一个包含多行文本的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

现在我有一个包含以下键/值的字典:

labels = {'cheap' : 'budget', 'luxury' : 'expensive', 'hiking' : 'sport'}

我想要做的是找出数据框中是否存在字典中的键,如果存在,则返回适当的值

我能够使用以下方法实现这一目标:

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

非常感谢任何帮助或指导.

干杯

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值