我有一个数据框和一个dict。这些看起来像
import pandas as pd
df1 = pd.DataFrame({'first':['john','oliver','sarah']})
df1_map = {'john': 'anderson', 'oliver': 'smith', 'sarah' : 'shively'}
print (df1)
print (df1_map)
first
0 john
1 oliver
2 sarah
{'oliver': 'smith', 'sarah': 'shively', 'john': 'anderson'}
df1['first']的值代表dict的键值
我想在数据帧中添加第二列,名为df1['second'],以便保持dict关系以获得以下数据帧
first last
0 john anderson
1 oliver smith
2 sarah shively
现在,我可以迭代数据帧值,就像这样
df1['last'] = [ df1_map[i] for i in list(df1['first'])]
我想知道pandas是否支持一个向量化的实现/函数,该实现/函数不需要迭代df的行就可以实现这一点
只需将字典值直接映射到键:
结果是:
相关问题 更多 >
编程相关推荐