计算数据帧中一部分列的平均值忽略NAN

2024-09-30 05:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在计算数据帧中一部分列的平均值时遇到困难。 我需要将我的数据帧划分为子窗口,并且我需要特定列的每个较小windwows的平均值

目前,我的代码如下所示:

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

所以现在我把数组1分成10个子数组。现在我的问题是:出于某种原因,我用“nan”作为一些方法的解决方案。这可能是因为数组1中必须有一些nan值。如何仅计算not nan值的平均值,而不从阵列1中删除nan?这可能吗?非常感谢!:)


Tags: 数据代码infornp数组nanmean
1条回答
网友
1楼 · 发布于 2024-09-30 05:29:56

看起来您可以使用(也可以与NaNs一起使用):

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

如果数据帧的索引是pd.RangeIndex,则此操作有效。否则,您可以执行以下操作:

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

作为旁注,为了计算包含NaNs的numpy数组的平均值,您有^{}

相关问题 更多 >

    热门问题