Исключить нули в столбце при расчете среднего значения с использованием панд - PullRequest
1 голос
/ 11 июня 2019

У меня есть следующий фрейм данных:

Trip_ID Trip_Trajectory Trip_Distance Trip_Speed
1001    1                15            2
1001    2                10            0
1001    3                20            6

Я хотел бы агрегировать данные с помощью Groupby.Я получаю этот результат:

Trip_ID Trip_Distance Trip_Speed
1001    45            2,67

Это код, который я использую сейчас:

dataset_agg = dataset.groupby('Trip_ID').agg({'Trip_Distance': ['sum'], 'Trip_Speed': ['mean']})

Но мне нужно исключить нули в столбце «Trip_Speed», чтобы получитьследующий результат:

Trip_ID Trip_Distance Trip_Speed
1001    45            4

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

1 Ответ

0 голосов
/ 11 июня 2019

Заменить нули на NaN, NaN игнорируются при агрегации.

(df.replace(0, np.nan)
   .groupby('Trip_ID', as_index=False)
   .agg({'Trip_Distance': 'sum', 'Trip_Speed': 'mean'}))

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