Вычисление среднего значения части столбца pandas кадра данных без учета nans - PullRequest
0 голосов
/ 20 января 2020

У меня проблемы с вычислением среднего значения части столбца в кадре данных pandas. Мне нужно разделить мой фрейм данных на под windows, и мне нужно среднее значение для каждого из этих меньших windwow для определенных c столбцов.

На данный момент мой код выглядит следующим образом:

array2 = np.array([[x[:,0].mean()]
                for x in np.array_split(array1, 10)])

Итак, на данный момент я делю массив1 на 10 подмассивов. Теперь моя проблема: по какой-то причине я получаю «nan» как решение для некоторых средств. Вероятно, это связано с тем, что в массиве1 должно быть несколько значений nan. Как я могу рассчитать только среднее значение для значений non-nan, пока я не удаляю nans вообще из array1? Это возможно? Большое спасибо! :) 1006 *

1 Ответ

5 голосов
/ 20 января 2020

Похоже, вы могли бы использовать (что также должно работать с NaNs):

df.groupby(df.index//10)['column'].mean()

Это работает, если индекс датафрейма равен pd.RangeIndex. В противном случае вы можете сделать:

df.groupby(pd.RangeIndex(df.shape[0])//10)['column'].mean()

В качестве примечания, для вычисления среднего значения массива numpy, содержащего NaNs, у вас есть numpy.nanmean

...