python pandas agg и считать в одной строке - PullRequest
0 голосов
/ 14 мая 2019

У меня есть данные в 2 столбцах, и я хотел бы сгруппировать столбец 2 на основе столбца 1 и создать новый столбец 3 с их количеством.Я сделал,

import pandas as pd
df = pd.read_csv("pairs.txt",sep='\t')
group = df.groupby(['COL_A'])['COL_B'].agg('-*-'.join)
group1 = df.groupby(['COL_A'])['COL_A'].count()

с этим я ясно получаю группу,

COL_A
A Cat-*-Rat-*-Mouse
B Monkey
C Tiger
D Squirrel

и group1:

COL_A
A 3
B 1
C 1
D 1

Как объединить группу и группу1 в одну строку вболее питонический способ такой, что мой вывод?

COL_A    COL_B         COUNT
    A Cat-*-Rat-*-Mouse 3
    B Monkey            1
    C Tiger             1
    D Squirrel          1

Заранее спасибо.

1 Ответ

0 голосов
/ 16 мая 2019

Попробуйте:

group = df.groupby(['COL_A']).agg({'COL_B': ['-*-'.join, 'count']})

Это то, что вы имеете в виду?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...