Python 从另一个具有字典键的列创建dataframe列
我有一个数据框和一个dict这些看起来Python 从另一个具有字典键的列创建dataframe列,python,pandas,dictionary,dataframe,key,Python,Pandas,Dictionary,Dataframe,Key,我有一个数据框和一个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': 'sm
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的行即可实现这一点
df1['last'] = df1['first'].map(df1_map)
结果是:
Out[6]:
first last
0 john anderson
1 oliver smith
2 sarah shively