map函数与字典的问题
《利用python进行数据分析》 第7章 数据转换这一节中提到一个例子(有部分删减),如下:data=DataFrame({'food':['bacon','pulled pork','honey ham'],'ounce':[4,3,12]})
meat_to_animal={'bacon':'pig','pulled pork':'cow','honey ham':'pig'}
作者的意思是将肉来自于哪种动物追加上去,于是给出了:
data['animal']=data['food'].map(lambda x:meat_to_animal[x]);
map的用法是 map(function,iterable ....),一般的做法是:
a = [('a',1),('b',2),('c',3),('d',4)]
a_1 = list(map(lambda x:x[0],a))
我不明白的地方是:
1、map的用法
map(lambda x:meat_to_animal[x]) 为啥是meat_to_animal[x], 难道不应该是 map(lambda x:x.values,meat_to_animal ) // 将字典中的values进行传递。
2、meat_to_animal[x] 不明白这种用法
本人小白,刚学不久,请各位大佬不吝赐教。
再次感谢各位。