python - 如何根据排序算法在熊猫上获得获胜者选民
问题描述
这是我的数据
No Candidate_A Candidate_B Candidate_C
1 8 9 12
2 18 9 12
3 9 9 7
这是我想要的结果,逻辑是Candidate_A
超过Candidate_B
,Candidate_B
获胜,如果不是Candidate_A
,基本上它只是排序算法
No Candidate_A Candidate_B Candidate_C Result
1 8 9 12 Candidate_C
2 18 9 12 Candidate_A
3 9 9 7 Candidate_A
解决方案
DataFrame.iloc
与 一起使用DataFrame.idxmax
:
df['Res'] = df.iloc[:, 1:].idxmax(axis=1)
#if first column is index
#df['Res'] = df.idxmax(axis=1)
print (df)
No Candidate_A Candidate_B Candidate_C Res
0 1 8 9 12 Candidate_C
1 2 18 9 12 Candidate_A
2 3 9 9 7 Candidate_A
推荐阅读
- postgresql - 在 WSL2 中运行的 Flask 无法连接到在 Windows 上运行的 postgres(与 WSL1 一起工作)
- intellij-idea - 使用 IntelliJ IDEA 从 JFR 转储生成火焰图
- sql - SQL 查询仅查找具有 2 个源值的客户 ID
- keycloak - 部署的 Keycloak 脚本映射器未显示在 GUI 中
- c - C 中跨进程的条件等待和信号
- vim - 如何在 .vimrc 的 gvim cabbrev 中使用管道运算符 (|)?
- django - 如何保存实例并更新模型表单中的反向 M2M 字段
- node.js - axios Promise.all 永无止境
- html - Chrome 扩展 CSS 文件 - 停滞
- ruby-on-rails-6 - Rails 6、ActionCable显示数据包含HTML标签