为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas 数据框打印额外信息

Pandas 数据框打印额外信息

慕标5832272 2021-12-09 15:17:54
smer_prods 是一个看起来像这样的字典:smer_prods = {    #'vermicelli' : ['vermicelli', 'ragi vermicelli', 'rice vermicelli'],    'ragi vermicelli' : ['ragi vermicelli'],    'rice vermicelli' : ['rice vermicelli'],    'vermicelli jupiter' : ['vermicelli jupiter'],    'lemon & tamarind vermicelli' : ['lemon & tamarind vermicelli'],    'finosta vermicelli' : ['finosta vermicelli-5kg'],    'rosted vermicelli' : ['roasted vermicelli'],    'semiya/vermicelli' : ['semiya / vermicelli 900grams'],    'vermicelli upma' : ['vermicelli upma'],    'vermicelli payasam mix' : ['vermicelli payasam mix'],    'mung bean vermicelli' : ['mung bean vermicelli'],    'red chili' : ['red chilli (lal mirch)','guntur red chilli','red chilly whole(lal mirch)', 'red chilly wg', 'red chilli whole (hot) 1 kg', 'red chilli whole (rich colour) 1 kg'],    'red chili powder' : ['red chilli fresh-kg','red chilli powder (rich colour) 1 kg','red chilli powder (hot) 1 kg','red chilli powder','lal mirch powder','lal mirch powder 100gms', 'lal mirch powder 1kg', 'lal mirch powder 200gms', 'lal mirch powder 500gms'],    'red chilli sauce' : ['red chilli sauce', 'red chilli sauce 200gm pet bottle 48X200gm', 'hot chili sauce'],    'sriraja hot chilli sauce' : ['sriraja hot chilli sauce', 'sriracha hot chilli sauce'],    'mineral water' : ['himalayan orchard pure peach flavoured natural mineral water - 500 ml','himalayan orchard pure strawberry flavoured natural mineral water - 500 ml','himalayan orchard pure apple flavoured natural mineral water - 500 ml','himalayan - the natural mineral water - 500ml bottle', 'himalayan - the natural mineral water - 200ml bottle', 'himalayan - the natural mineral water - 1ltr bottle'],}数据帧 df 的 csv 是这样的:现在当我执行这个简单的代码时:for x in smer_prods:    mask = df['ITEM NAME'] == x    df1 = df[mask]    print(df1['ITEM NAME'])
查看完整描述

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)']


查看完整回答
反对 回复 2021-12-09
  • 1 回答
  • 0 关注
  • 248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号