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

标签 python pandas

我在 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/

相关文章:

python - 如何让我的Python代码更有效?

python - 尝试使用 __div__ 重新定义除法运算符时出错

python - 如何一次对数据中的所有列进行分类? (使所有值变为高、中、低)

python - 当 "value in column X"更改时提取 Pandas 数据帧 block

python - 访问 Pandas 中的组

python - 比较数据框中的结果和分组结果

python - 如何向 Django 中的模型添加类属性?

Python 导入枚举错误

python - 将 `issubclass()` 与 Django 模型一起使用

python - 通过将函数应用于 pandas Series 来获取字典