2024-09-26 18:03:17 发布
网友
我有一个类似于
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并捕捉{}上的最小值。我可以用两行代码来完成,复制一个数据帧:
test_a == OK
有没有一种方法可以在不使用中间数据帧的情况下做到这一点?在
我认为您的解决方案很好,也可以将两行代码连接在一起,返回一行DataFrame:
DataFrame
df = df.loc[[df.loc[df.test_a == 'OK', 'metric_e'].idxmin()]] print (df) test_a test_b metric_e 2 OK NOK 2
使用代码的输出,可以尝试使用:
df[df.metric_e==df.loc[df.test_a.eq('OK'),'metric_e'].min()].T 2 test_a OK test_b NOK metric_e 2
如果不想转置:
使用^{}:
df[df['test_a']=='OK'].nsmallest(1, 'metric_e')
输出:
我认为您的解决方案很好,也可以将两行代码连接在一起,返回一行
DataFrame
:使用代码的输出,可以尝试使用:
如果不想转置:
^{pr2}$使用^{} :
输出:
^{pr2}$相关问题 更多 >
编程相关推荐