繁体   English   中英

从另一个具有字典键的列创建pandas dataframe列

[英]Create pandas dataframe column from another column that has dictionary keys

我有数据框和字典。 这些看起来像

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'])]

我想知道熊猫是否支持矢量化的实现/功能,而该实现/功能可以做到这一点而无需遍历df的行

您可以使用以下命令将字典值直接映射到键:

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

结果是:

Out[6]: 
    first      last
0    john  anderson
1  oliver     smith
2   sarah   shively

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM