我有这样的数据框
A B C D
0 0.037949 0.021150 0.127416 0.040137
1 0.025174 0.007935 0.011774 0.003491
2 0.022339 0.019022 0.024849 0.018062
3 0.017205 0.051902 0.033246 0.018605
4 0.044075 0.044006 0.065896 0.021264
我想获取每列中 3 个最大值的索引值的数据框。所需输出
A B C D
0 4 3 0 0
1 0 4 4 4
2 1 0 3 3
Given
>>> df
A B C D
0 0.037949 0.021150 0.127416 0.040137
1 0.025174 0.007935 0.011774 0.003491
2 0.022339 0.019022 0.024849 0.018062
3 0.017205 0.051902 0.033246 0.018605
4 0.044075 0.044006 0.065896 0.021264
您可以使用DataFrame.apply
结合Series.nlargest
:
>>> df.apply(lambda s: pd.Series(s.nlargest(3).index))
A B C D
0 4 3 0 0
1 0 4 4 4
2 1 0 3 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)