Как посчитать количество элементов в группе после использования Groupby в Pandas - PullRequest
0 голосов
/ 04 апреля 2020

У меня в столбце данных несколько столбцов, в которых я использую 2 столбца: «идентификатор клиента» и «идентификатор поездки». Я использовал групповую функцию data.groupby(['customer_id','trip_id']) От каждого клиента совершается несколько поездок. Я хочу посчитать, сколько поездок совершил каждый клиент, но когда я использую статистическую функцию вместе с группой, я получаю 1 во всех строках. Как мне поступить? Я хочу что-то в этом формате.

Example : 
Customer_id , Trip_Id, Count
CustID1 ,trip1, 3 
        trip 2
        trip 3
CustID2 ,Trip450, 2
         Trip23   

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

Вы можете группировать по клиенту и подсчитывать количество уникальных поездок, используя встроенную nunique:

data.groupby('Customer_id').agg(Count=('Trip_id', 'nunique'))
0 голосов
/ 04 апреля 2020

Вы можете использовать data.groupby('customer_id','trip_id').count()

Пример:

df1 = pd.DataFrame(columns=["c1","c1a","c1b"], data = [[1,2,3],[1,5,6],[2,8,9]])
print(df1)

# | c1 | c1a | c1b |
# |----|-----|-----|
# | x  | 2   | 3   |
# | z  | 5   | 6   |
# | z  | 8   | 9   |

df2 = df1.groupby("c1").count()
print(df2)

# |    | c1a | c1b |
# |----|-----|-----|
# | x  | 1   | 1   |
# | z  | 2   | 2   |
...