我有一个类似的数据框
test_a test_b metric_e
0 OK NOK 12
1 OK OK 7
2 OK NOK 2
3 OK OK 55
我想按一个条件进行过滤,这意味着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
有没有一种方法可以在不使用中间数据帧的情况下做到这一点?
Using nsmallest https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.nsmallest.html:
df[df['test_a']=='OK'].nsmallest(1, 'metric_e')
Output:
test_a test_b metric_e
2 OK NOK 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)