2013-06-06 2 views
1

Я пытаюсь группа следующего данные:Панды GroupBy (словарь) не возвращает предполагаемый результат

>>> a=[{'A': 1, 'B': 2, 'C': 3, 'D':4, 'E':5, 'F':6},{'A': 2, 'B': 3, 'C': 4, 'D':5, 'E':6, 'F':7},{'A': 3, 'B': 4, 'C': 5, 'D':6, 'E':7, 'F':8}] 
>>> df = pd.DataFrame(a) 
>>> df 
    A B C D E F 
0 1 2 3 4 5 6 
1 2 3 4 5 6 7 
2 3 4 5 6 7 8 

со следующим словарем:

dict={'A':1,'B':1,'C':1,'D':2,'E':2,'F':2} 

такими, что

df.groupby(dict).groups 

Вывод

{1:['A','B','C'],2:['D','E','F']} 

ответ

2

Необходимо, чтобы добавить оси аргумент GroupBy:

>>> grouped = df.groupby(groupDict,axis=1) 
>>> grouped.groups 
{1: ['A', 'B', 'C'], 2: ['D', 'E', 'F']} 
Смежные вопросы