如何获取DataFrame行和最小列名并自动引用该列
获取求和最小的DataFrame列并自动引用
问题背景
已计算出DataFrame中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),并通过变量直接引用DataFrame中对应的列,无需手动输入列名。
解决方案
1. 一步获取最小求和值的列名
无需先取最小值再匹配,直接使用idxmin()方法可直接返回求和值最小的列名:
# sum是你已计算好的各列求和结果(Series类型) min_col = sum.idxmin()
执行后min_col的值为'y7',直接得到目标列名字符串。
2. 通过变量引用DataFrame列
得到列名变量后,直接用该变量作为索引即可引用对应列:
# df是你的原始DataFrame target_column = df[min_col]
此时target_column完全等价于手动编写的df["y7"],实现自动引用。
针对已有列名变量的处理
如果你已经通过其他方式得到存储列名的变量(比如min = 'y7'),同样直接用变量索引:
target_column = df[min]
内容的提问来源于stack exchange,提问作者Peter M
相关产品推荐
相关产品推荐

