1 回答

TA贡献1843条经验 获得超7个赞
我认为你需要列表中的测试值,所以使用列表理解和isin字典的测试值:
df = pd.DataFrame({'ITEM NAME':['ragi vermicelli','red chilli (lal mirch)']})
print (df)
ITEM NAME
0 ragi vermicelli
1 red chilli (lal mirch)
#if need matched values
L = [y for k, v in smer_prods.items()
for y in df.loc[df['ITEM NAME'].isin(v), 'ITEM NAME'].tolist()]
print (L)
['ragi vermicelli', 'red chilli (lal mirch)']
#if need matched key of dictionary
L1 = [k for k, v in smer_prods.items()
for y in df.loc[df['ITEM NAME'].isin(v), 'ITEM NAME'].tolist()]
print (L1)
['ragi vermicelli', 'red chili']
循环解决方案:
L = []
for k, v in smer_prods.items():
for y in df.loc[df['ITEM NAME'].isin(v), 'ITEM NAME'].tolist():
print (y)
L.extend([y])
#if need matched key of dictionary
#L.extend([k])
print (L)
['ragi vermicelli', 'red chilli (lal mirch)']
添加回答
举报