【问题标题】:Create pandas dataframe column from another column that has dictionary keys从具有字典键的另一列创建熊猫数据框列
【发布时间】:2017-01-15 11:56:26
【问题描述】:

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

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 行的情况下做到这一点

【问题讨论】:

    标签: python pandas dictionary dataframe key


    【解决方案1】:

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

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

    结果是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-17
      • 2018-02-26
      • 1970-01-01
      • 2020-08-14
      • 2016-04-21
      • 2016-01-14
      • 1970-01-01
      相关资源
      最近更新 更多