pandas 对于列的多索引,计算级别=1时共享相同名称的列的最小值/最大值

uxhixvfz  于 2023-03-06  发布在  其他
关注(0)|答案(1)|浏览(105)

日安,对于以下列具有多索引的 Dataframe
我试图计算level = 1的列的最小值和最大值(第1列的列a和列B的最大值/最小值,第2列的列a和列b的最大值/最小值),但还没有找到合适的方法。
我想要这样的东西:
你能帮助我并分享你的想法吗?

xxls0lw8

xxls0lw81#

您可以stack未使用的级别(1,而不是0!)和agg

out = df.stack().agg(['min', 'max'])

输出:
可重现输入:

df = pd.DataFrame([[1,2,3,1],[2,5,6,4],[85,74,5,92]],
                 columns=pd.MultiIndex.from_product([[1, 2], ['a', 'b']])
                 )

相关问题