【发布时间】:2022-02-09 06:27:46
【问题描述】:
我有一个数据框:
df = pd.DataFrame({'A': [0, 0, 1], 'B': [1, 0, 0]}, index=['x', 'y', 'z'])
A B
x 0 1
y 0 0
z 1 0
对于每一行,我想要具有最低值的所有列的名称(编辑:每行),例如:
x A
y A
y B
z B
# or
x [A]
y [A, B]
z [B]
我知道idxmin() 给出了最低值的第一个实例:
df.idxmin(axis=1)
x A
y A
z B
但是获取所有这些的有效方法是什么?
这个question 给出了特定列中具有最小值值的所有行,但这并不是我想要的。
编辑:这是一个更好的玩具 df 用于获取每行中具有最小值的列名:
df2 = pd.DataFrame({'A': [1, 0, 6], 'B': [3, 0, 2]}, index=['x', 'y', 'z'])
A B
x 1 3
y 0 0
z 6 2
【问题讨论】:
-
点赞,因为你找到了
df.idxmin -
应该是每组整体的最小值吗?
-
@mozway 每行的最小值