首页 > 解决方案 > 平均切片数据帧并存储为不同的名称

问题描述

我有一个5745 数据并希望将其分成24 个相等的集合。我使用 df_split = np.array_split(df, 24) 像这样返回我在此处输入图像描述

我需要运行所有数据的函数并返回 24 个输出。每个 datframe 有 240 个数据,共 24 个集合。例如,我希望计算前 240 个数据的平均值并存储为X

我的最终输出应该像X = [3,4,3,5,7,8...]。其中 3 是前 240 个数据(df[0])的平均值,4 是第二个 240 个数据(df 1)。连续24组。

标签: pythonpandasdataframemean

解决方案


无需拆分 DataFrame - 因为您必须单独计算每个拆分的平均值。使用groupby,您可以更简单地执行此操作:

n = 24
size = np.ceil(len(df) / n).astype(int)

X = df.groupby(df.index % size).mean()

如果你想要单列的平均值,你可以这样做:

X = df.groupby(df.index % size)['Close'].mean()

或者,作为一个列表:

X = df.groupby(df.index % size)['Close'].mean().values.tolist()

推荐阅读