python - 根据熊猫中的列值选择列标题名称
问题描述
嗨,我有以下数据框:
col1 col2 col3 col4 col5
row1 0 1 0 0 0
row2 0 0 0 0 1
我想创建一个数据框
row1 col2
row2 col5
实际上我想选择值为1的列名。
解决方案
一种方法可能是
df.idxmax(1)
使用您给定的测试数据:
In [113]: df
Out[113]:
col1 col2 col3 col4 col5
row1 0 1 0 0 0
row2 0 0 0 0 1
In [114]: df.idxmax(1)
Out[114]:
row1 col2
row2 col5
dtype: object
根据您在下面提到的评论,如果包含'row1'
并且'row2'
还不是您的索引的列,您可以df.set_index
先使用,然后idxmax
按上述方式使用:
In [120]: df
Out[120]:
index col1 col2 col3 col4 col5
0 row1 0 1 0 0 0
1 row2 0 0 0 0 1
In [121]: df.set_index('index').idxmax(1)
Out[121]:
index
row1 col2
row2 col5
dtype: object
推荐阅读
- git - 权限被拒绝(公钥)。GitLab 突然出现错误。我正确配置了私钥和公钥
- python - 用双引号括起来的逗号读取 csv
- c - 二进制表达式的错误操作数无效
- arrays - 如何从数据库中过滤食谱?
- data-structures - 为什么还要有哈希表?
- node.js - 为什么我必须刷新页面才能连接到对等系统?
- python - 将字典理解与包含的字符串拆分操作一起使用
- jupyter-notebook - 如何确保我的 jupyter notebook 可以在任何其他计算机或任何 jupyter Lab 上运行?
- laravel - 从数据透视表中删除数据时,也要从主表中删除
- .net - Razor Pages 不使用它的布局