Как отфильтровать данные, а затем сгруппировать в один оператор, используя панд - PullRequest
0 голосов
/ 23 октября 2019

Есть ли возможность отфильтровать данные, а затем сгруппировать в один оператор, используя панд?

Мне нужно реализовать запрос следующим образом:

SELECT ParsedPickupMonth, COUNT(*)
FROM df
WHERE trip_distance > 0 and trip_distance < 3
GROUP BY ParsedPickupMonth

Моя идея:

import pandas as pd
import numpy as np

df = pd.read_csv("yellow_tripdata_2019-01.csv")

df['ParsedPickupMonth'][(df.trip_distance > 0) & (df.trip_distance < 3)].groupby(???).count()

1 Ответ

2 голосов
/ 23 октября 2019

Вот один из способов сделать это:

df[(df.trip_distance > 0) & (df.trip_distance < 3)].groupby('ParsedPickupMonth').count().max(axis=1).rename('count').reset_index()

В итоге вы должны получить что-то вроде:

ParsedPickupMonth  count
              Jan      6
              Feb      2
              Mar      7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...