代码之家  ›  专栏  ›  技术社区  ›  Bijan

将Pandas行中的值添加到字典中

  •  2
  • Bijan  · 技术社区  · 5 年前

    我在Pandas中有一个数据帧,它有对应于字典键和值的列。

    for values in ['A','B']:
        MYDICT[values] = [] # Initialize to empty list
    
    Name    ID    othercolumns
    A       5     ...
    B       6     ...
    A       3     ...
    

    我试图找到一种简单的方法,将Name的每个值都分配给ID,这样 MYDICT[NAME].append(ID)

    我目前的解决方案是迭代数据帧中的每一行

    for index, x in df.iterrows():
        WINNERS[x['Name']].append(x['ID'])
    

    有没有更好的方法不用使用 iterrows() ?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Michael Szczesny    5 年前

    您可以按以下方式分组 Name 和骨料 ID 进入列表

    WINNERS = df.groupby('Name')['ID'].apply(list).to_dict()
    WINNERS
    

    外出:

    {'A': [5, 3], 'B': [6]}