获取基于其他列值的列值的最小值



我试图根据条件

列的最小值获取整行p>
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

您可以先过滤出不相同的列,然后排序并获得最低的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

相关内容

最新更新