从另一个具有字典键

时间:2016-09-07 17:20:52

标签: 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': '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行的情况下执行此操作

1 个答案:

答案 0 :(得分:6)

您可以直接将字典值映射到键:

"echo select 0" | redis-cli

结果是:

df1['last'] = df1['first'].map(df1_map)