Pandas Dataframe показывает граф с группировкой и агрегированием - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть эти данные

ID  Value1  Value2  Type    Type2
1   3          1    A       X
2   2          2    A       X
3   5          3    B       Y
4   2          4    B       Z
5   6          8    C       Z
6   7          9    C       Z
7   8          0    C       L
8   3          2    D       M
9   4          3    D       M
10  6          5    D       M
11  8          7    D       M

Сейчас я могу сгенерировать этот вывод, используя этот код

pandabook.groupby(['Type','Type2'],as_index=False)['Value1', 'Value2'].agg({'Value1': 'sum','Value2': 'sum'})


ID  Value 1 Value2  Type    Type2
1   5          3    A         X
2   5          3    B         Y
3   2          5    B         Z
4   13        17    C         Z
5   8          0    C         L
6   21        17    D         M

Я также хочу показать агрегированный счет, как показано вэтот пример

enter image description here

Как мне достичь этого результата?

1 Ответ

0 голосов
/ 19 февраля 2019

Добавить новое значение в словарь с помощью функции size, удалить as_index=False для предотвращения:

ValueError: невозможно вставить тип, уже существует

и последний rename с reset_index:

df = pandabook.groupby(['Type','Type2']).agg({'Value1': 'sum','Value2': 'sum', 'Type':'size'})
df = df.rename(columns={'Type':'Count'}).reset_index()
print (df)
  Type Type2  Value1  Value2  Count
0    A     X       5       3      2
1    B     Y       5       3      1
2    B     Z       2       4      1
3    C     L       8       0      1
4    C     Z      13      17      2
5    D     M      21      17      4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...