python / dataframe - групповые столбцы для создания списка - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь использовать dataframe для преобразования данных:

Column 1 | Column 2 | Column 3 | Column 4
--------------------------------
A    | B   | 1 | # 
A    | B   | 2 | $ 
A    | C   | 1 | % 

в

Column 1 | Column 2 | Column 5
--------------------------------
A    | B   | [Column 3: 1, Column 4:#, Column 3:2, Column 4:$] 
A    | C   | [Column 3: 1, Column 4:%] 

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 28 августа 2018

Вот что-то довольно близкое (ваш пример вывода не является допустимым python, если это не просто строка):

In []:
(df.groupby(['Column 1', 'Column 2'])[['Column 3', 'Column 4']]
   .apply(lambda x: x.to_dict(orient='record'))
   .reset_index(name='Column 5'))

Out[]:
  Column 1 Column 2                                                             Column 5
0        A        B  [{'Column 3': 1, 'Column4': '#'}, {'Column 3': 2, 'Column 4': '$'}]
1        A        C                                   [{'Column 3': 1, 'Column 4': '%'}]
...