计算pandas中多索引数据帧每列的最小值

2024-03-29 06:11:41 发布

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

我有一个具有以下结构的多索引数据帧:

         metric1                 metric2            
     experiment1 experiment2 experiment1 experiment2
run1         1.2         1.5         0.2         0.9
run2         2.1         0.7         0.4         4.3

如何计算每列的最小值(最大值、平均值等)并获得如下数据帧:

^{pr2}$

Tags: 数据结构平均值pr2metric1run1metric2experiment2
1条回答
网友
1楼 · 发布于 2024-03-29 06:11:41

你可以取最小值、最大值和平均值,然后使用帕金森病把一切都缝在一起。您将需要转置(T),然后再转置回以使数据帧以您想要的方式进行连接。在

In [91]: df = pd.DataFrame(dict(exp1=[1.2,2.1],exp2=[1.5,0.7]), index=["run1", "run2"])

In [92]: df_min, df_max, df_mean = df.min(), df.max(), df.mean()

In [93]: df_min.name, df_max.name, df_mean.name = "min", "max", "mean"

In [94]: pd.concat((df.T, df_min, df_max, df_mean), axis=1).T
Out[94]:
      exp1  exp2
run1  1.20   1.5
run2  2.10   0.7
min   1.20   0.7
max   2.10   1.5
mean  1.65   1.1

对于多索引应该是一样的。在

相关问题 更多 >