我希望能够找到一种通用的解决方案,以指定的行或列数对DataFrame进行分组。 以下是一个示例DataFrame:
df = pd.DataFrame(0, index=['a', 'b', 'c', 'd', 'e', 'f'], columns=['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'])
c1 c2 c3 c4 c5 c6 c7
a 0 0 0 0 0 0 0
b 0 0 0 0 0 0 0
c 0 0 0 0 0 0 0
d 0 0 0 0 0 0 0
e 0 0 0 0 0 0 0
f 0 0 0 0 0 0 0
例如,我想每次以2行为一组分组,并应用诸如平均值或类似函数。我还想知道如何以N列为一组进行分组并应用函数。
以每次2行为一组分组的预期输出:
c1 c2 c3 c4 c5 c6 c7
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
按照两列进行分组,期望输出:
0 1 2 3
a 0 0 0 0
b 0 0 0 0
c 0 0 0 0
d 0 0 0 0
e 0 0 0 0
f 0 0 0 0
df.groupby(by=lambda x: x/N, axis=1).mean()
中的axis
来按列分组。 - Zerodf.columns = range(0, len(df.columns))
吗?然后应用df.groupby(by=lambda x: x/N, axis=1).mean()
。 - Zerodf.groupby(np.arange(len(df.columns))//N, axis=1)
)。 - ayhan