pandas 查找哪一列具有所有行的总和的最小值,并且具有该列的名称的列具有输出

nnt7mjpx  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(147)

我有一个数据框的y1到y7列的所有行的总和

y1     4.475017e+02
y2     4.825798e+02
y3     4.077346e+04
y4     1.083712e+04
y5     4.005989e+04
y6     4.223634e+02
y7     3.385693e+01

我需要找出哪个列具有最小值,在本例中为y7,因此我希望输出为:y7
"我做了什么"
最小值= sum.min()

输出:33.85692709115603

理想= sum.loc[sum ==最小值]

输出:

y7    33.856927
dtype: float64

我不得不打印和手动插入df["y7"]后。
我希望能够在不打印的情况下执行此操作,也就是说,插入df["y7"],但不必实际写入y7,因为这将是前一个输入的输出。

编辑:

现在我已经得到了想要的输出:min = y7,如何提及与输出同名的列?
例如:我需要输入df["y7"]的输出,但我想写min的输出,而不是写y7

sqxo8psd

sqxo8psd1#

您可以用途:

df.sum().idxmin()

示例:

print(df)

    A   B   C   D
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15

df.sum().idxmin()

'A'
引用列:
col = df.sum().idxmin()

df[col]   # or without variable df[df.sum().idxmin()]

0     0
1     4
2     8
3    12
Name: A, dtype: int64

相关问题