gpt4 book ai didi

python - 在 Pandas 数据框中选择具有最小值的列

转载 作者:行者123 更新时间:2023-12-05 08:36:07 29 4
gpt4 key购买 nike

我有一个具有这种结构的 Pandas 数据框:

df_test

V       |  A    | B   |  C      |  D
-10 | nan | nan | nan | nan
-9.9 | 10 | 1 | -2200 | 100
-9.8 | 11 | 2 | -2211 | 1

我想添加一个新列 minimum_difference,其中包含该特定行的绝对值最小的列名(忽略 V),如下所示:

V       |  A    | B   |  C      |  D    | minimum_difference
-10 | nan | nan | nan | nan | nan
-9.9 | 10 | 1 | -2200 | 100 | B
-9.8 | 11 | 2 | -2211 | 1 | D

最佳答案

您可以使用 df.drop跳过 V 列,和 df.abs将数据框的值转换为绝对值,并使用 df.idxminaxis=1 找到最小(绝对)值的索引(这将是一个列名):

df_test['minimum_difference'] = df_test.drop('V', axis=1).abs().idxmin(axis=1)

输出:

>>> df
V A B C D minimum_difference
0 -10.0 NaN NaN NaN NaN NaN
1 -9.9 10.0 1.0 -2200.0 100.0 B
2 -9.8 11.0 2.0 -2211.0 1.0 D

关于python - 在 Pandas 数据框中选择具有最小值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70509388/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com