У меня в столбце данных есть столбец, в котором в каждой строке содержатся серии различного размера:
values
[0.0,2.3,4.6,99,100,200,...]
[0.0,4.6,7.8,10,20,25,10,5.5,12,...]
.
.
.
Среднее значение каждой серии вычислено следующим образом:
from statistics import mean
df['average_values'] = df['values'].map(mean)
df.head()
Это возвращает:
values average_values
[0.0,2.3,4.6,99,100,200,...] 7.6
[0.0,4.6,7.8,10,20,25,...] 10.5
.
.
.
Однако каждый из этих рядов начинается с 0.0, и мне нужно удалить это из расчета в среднем столбце.
Моя попытка
Я попытался создать новый столбец «nan_values», который бы копировал столбец исходных значений, но все значения 0.0 были заменены на NaN:
#create new column
df['nan_values'] = df['values'].copy()
#replace the 0.0 in each series with NaN
df['nan_values'] = df['nan_values'].replace(0, np.NaN)
Я думал, что получу серию, которая выглядит как:
[NaN, 2.2, 4.4, 5, 3.3, 7.1, ...]
Мне нужно вычислить среднее для многих рядов рядов, но пропустить элемент с индексом 0.