我有一个类似于
test_a test_b metric_e
0 OK NOK 12
1 OK OK 7
2 OK NOK 2
3 OK OK 55
Run Code Online (Sandbox Code Playgroud)
我想按一个条件过滤,这意味着test_a == OK并捕获metric_e. 我可以用两行来完成,复制一个数据帧:
df_t = df[df.test_a == 'OK'].reset_index(drop=True)
df_t.iloc[df_t.metric_e.idxmin()].to_frame()
test_a | test_b | metric_e
OK | NOK | 2
Run Code Online (Sandbox Code Playgroud)
有没有办法在不必使用中间数据帧的情况下做到这一点?
使用nsmallest:
df[df['test_a']=='OK'].nsmallest(1, 'metric_e')
Run Code Online (Sandbox Code Playgroud)
输出:
test_a test_b metric_e
2 OK NOK 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5736 次 |
| 最近记录: |