对不起,我找不到合适的标题。请随意更改。
这是我的示例数据帧
ID,Val1,Val2,Val3
1,10,9,11
2,14,15,16
3,17,18,1
1,22,25,3
我想逐行检查除ID以外的每一列的值,如果有最小值大于4,那么我想删除这些列。
在本例中,ID 1(顶部)和2的最小值大于4。所以我想从数据帧中删除这两行。
我无法使用列名进行检查,因为在我的真实数据帧中,我会有100个列,而且我甚至不知道它们的名称。
为了找到每行的最小值,我使用
idxmin
df1 = df.set_index('ID').idxmin(axis=1).reset_index(name= 'New')
我有这个的输出
ID New
1 Val2
2 Val1
3 Val3
1 Val3
(df1['New] > some conditions)
并根据条件删除这些行。
例如,在本例中,最终输出是(删除这些行后,最小值大于4)
ID New
3 Val3
1 Val3
或者还有其他更简单的方法吗?