Добавление значений из строки Pandas в словарь

#python #pandas

#python #pandas

Вопрос:

У меня есть фрейм данных в Pandas, в котором есть столбцы, которые будут соответствовать ключу и значению dict.

 for values in ['A','B']:
    MYDICT[values] = [] # Initialize to empty list

Name    ID    othercolumns
A       5     ...
B       6     ...
A       3     ...
  

Я пытаюсь найти простой способ присвоить каждому значению Name идентификатор, чтобы MYDICT[NAME].append(ID)

Решение, которое у меня есть в настоящее время, заключается в переборе каждой строки в dataframe

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

Есть ли лучший способ сделать это без необходимости использования iterrows() ?

Комментарии:

1. Вы не можете назначить тот же ключ для dict

2. Каков ваш ожидаемый результат?

Ответ №1:

Вы можете группировать Name и объединять ID в список

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

Out:

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