You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DataFrame含3105列仅2个唯一列名,如何按列名分组求行均值?

解决方法

直接用Pandas的groupby按列名分组,配合mean()就能搞定,步骤如下:

  1. 先把Gene列设为行索引(避免计算时把Gene列也纳入分组):
df = df.set_index('Gene')
  1. 按列名分组计算每行均值:
    指定按列方向(axis=1)分组,用列名作为分组依据,然后对每组求行均值:
result_df = df.groupby(df.columns, axis=1).mean()
  1. (可选)把Gene转回普通列:
    如果需要Gene作为列而不是索引,执行重置索引操作:
result_df = result_df.reset_index()

这样得到的result_df就只有Gene(可选)、Cell_A、Cell_B三列,每一行对应单个基因在两类细胞中的均值。

补充说明

  • groupby(df.columns, axis=1)会自动把所有同名列(比如所有Cell_A列)归为一组
  • mean()默认按行维度计算,正好对应每个基因在同组列中的平均值
  • 如果你的Gene列已经是DataFrame的索引,可以直接跳过第一步

内容的提问来源于stack exchange,提问作者careless_caramel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:30:59