我在 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()
?
最佳答案
您可以按Name
分组并将ID
聚合到一个列表中
WINNERS = df.groupby('Name')['ID'].apply(list).to_dict()
WINNERS
输出:
{'A': [5, 3], 'B': [6]}
关于python - 将 Pandas 行中的值添加到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64408484/