Среднее значение нескольких строк на основе состояния столбца в Python

#python #pandas #dataframe

#питон #панды #фрейм данных

Вопрос:

Как мне получить среднее значение из нескольких строк, где стадия столбца = 2.

В данный момент я использую

 average = df.loc[df.Stage == 2,'Vout'].mean()  

Однако это возвращает среднее значение по всему столбцу.

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

Примеры Данных Набор данных

Любая помощь была бы великолепна! Спасибо.

Комментарии:

1. Как выглядит ожидаемый результат из рассматриваемых выборочных данных?

2. Я вставлю средние значения в новый лист Excel.

3. Вам нужно среднее значение строк 5, 7 amp; 8 (1054, 1031, 1031) отдельно от среднего числа строк 12, 14 amp; 15 (2, 1046, 1040)?

4. Да, @Paul, так как там будет несколько блоков данных, подобных этим.

5. Вам нужно будет присвоить этим блокам определенное значение. так что вы можете группироваться по ним, я верю, что @jezrael сделал это в своем ответе.

Ответ №1:

Если возможно, выделите группу по отсутствующим значениям, используйте:

 df['g'] = df['Stage'].isna().cumsum()  average = df.loc[df.Stage == 2].groupby('g')['Vout'].mean()  

Комментарии:

1. Используя это, я получаю « не удается преобразовать g «