Python:数据框中只有 2 个唯一的列名称,总共 3105 列。如何获取按唯一列名称分组的行平均值

问题描述 投票:0回答:1

我的数据框

我的数据框位于链接的图像中。基本上为了简单起见,我的数据框目前看起来像这样:

基因 细胞_A 细胞_B 细胞_B 细胞_B 细胞_A
基因_A 0 4 35.5 4.5 3.5
基因_B 1.3 52 3.4 2.4 0
基因_C 2.3 3.3 32 0 2

Cell_A 和 Cell_B 总共有 3105 列。大约有 13k(我认为?)行基因。我想要做的是获取每个基因(行)的平均数,并按唯一的列名称分组。所以最后我只有 2 列,Cell_A 和 Cell_B,以平均数(每个基因,即行)作为数据。

我希望它必须与 agg 或 groupby 做一些事情。但我不知道从哪里开始。如果您能提供一些指导,我将非常感激!

python dataframe group-by
1个回答
0
投票

你是对的,你想按列分组并进行

mean
操作。

首先,保留第一列作为索引:

df = df.set_index(['Gene']) 

那就做吧

df.groupby(by=df.columns, axis=1).mean()
© www.soinside.com 2019 - 2024. All rights reserved.