我试图根据具有条件的列的最小值获取整行
DF:
colA colB colC
A B 2
B C 3
C D 4
D E 5
E A 2
A A 0
B B 0
C C 0
D D 0
E E 0
试图以最快的方式获取 colC 是最小整数但 colA 和 colB 不相等的整行
输出:
A B 2
E A 2
答案 0 :(得分:1)
您可以先过滤掉不同的列,然后排序并获得最低的 2 个值:
df1 = df[df['colA'].ne(df['colB'])].sort_values('colC').head(2)
对于所有其他行,按索引从原始行中删除行:
df2 = df.drop(df1.index)
print (df1)
colA colB colC
0 A B 2
4 E A 2
print (df2)
colA colB colC
1 B C 3
2 C D 4
3 D E 5
5 A A 0
6 B B 0
7 C C 0
8 D D 0
9 E E 0