我有数据框和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']的值代表字典的关键值。
我想在名为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行的情况下执行此操作
答案 0 :(得分:6)
您可以直接将字典值映射到键:
"echo select 0" | redis-cli
结果是:
df1['last'] = df1['first'].map(df1_map)