#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 «