d_g*_*gnz 5 python python-3.x pandas
我想找到数据框中每列的最高 3 个值,并返回按值排序的索引名称。数据框如下所示:
df = pd.DataFrame({"u1":[1,2,-3,4,5],
"u2":[8,-4,5,6,7],
"u3":[np.NaN,np.NaN,np.NaN,np.NaN,np.NaN]},
index=["q1","q2","q3","q4","q5"])
Run Code Online (Sandbox Code Playgroud)
结果如下所示:
u1 u2 u3
q5 q1 NaN
q4 q5 NaN
q2 q4 NaN
Run Code Online (Sandbox Code Playgroud)
您可以使用applywithpandas.Series.nlargest功能。
df.apply(lambda x: pd.Series(x.nlargest(3).index))
u1 u2 u3
0 q5 q1 NaN
1 q4 q5 NaN
2 q2 q4 NaN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |