zaa*_*ina 0 python nan mean dataframe pandas
我无法计算 Pandas 数据框中列的一部分的平均值。我需要将我的数据帧划分为子窗口,并且我需要特定列的每个较小窗口的平均值。
目前我的代码如下所示:
array2 = np.array([[x[:,0].mean()]
for x in np.array_split(array1, 10)])
Run Code Online (Sandbox Code Playgroud)
所以目前我将 array1 分成 10 个子阵列。现在我的问题:出于某种原因,我将“nan”作为某些手段的解决方案。这可能是由于 array1 中必须有一些 nan 值的原因。我怎样才能只计算非 nan 值的平均值,而我根本不从 array1 中删除 nans?这可能吗?非常感谢!:)
看起来您可以使用(也应该与 一起使用NaNs):
df.groupby(df.index//10)['column'].mean()
Run Code Online (Sandbox Code Playgroud)
如果数据框的索引是pd.RangeIndex. 否则你可以这样做:
df.groupby(pd.RangeIndex(df.shape[0])//10)['column'].mean()
Run Code Online (Sandbox Code Playgroud)
作为旁注,为了计算包含 的 numpy 数组的平均值NaNs,您有numpy.nanmean