python - 熊猫找到对应于绝对最小值的值
问题描述
我试图从多列中找到与绝对最小值相对应的实际值。例如:
df = pd.DataFrame({'A': [10, -5, -20, 50], 'B': [-5, 10, 30, 300], 'C': [15, 30, 15, 10]})
其输出应该是另一列,其值为 -5、-5、15 和 10。
我试过df['D'] = df[['A', 'B', 'C']].abs().min(axis=1)
了,但它返回了绝对值的最小值,从而失去了符号。
解决方案
尝试idxmin
df['D'] = df.values[df.index,df.columns.get_indexer(df[['A', 'B', 'C']].abs().idxmin(1))]
df
Out[176]:
A B C D
0 10 -5 15 -5
1 -5 10 30 -5
2 -20 30 15 15
3 50 300 10 10
推荐阅读
- vulkan - 多采样输入和输出 (vulkan)
- jenkins - 动态访问 Jenkins 变量,其中包含另一个变量子字符串
- javascript - 使用 puppeteer 无头模式在 React SSR 中无法识别函数
- mongodb - MongoDB查找传入的不匹配的值
- java - 改造不在Android中解析
- ruby-on-rails - 您的 Ruby 版本是 2.6.3,但您的 Gemfile 指定的是 2.6.4?
- c - C中的gdb:以字符串形式获取变量类型
- zendesk - Zendesk Web 小部件状态未正确更新且按钮未隐藏
- c++ - 使函数参数默认为周围范围
- sqlite - 有没有办法有效地测试新插入/更新的行是否与 SQLite 查询匹配?