python – 根据条件进行数据帧过滤

我有一个像数据框架

colA  colB  colC
 A      B    C 
 A      D    C 
 B      B    E 
 A      D    C 
 C      B    C 

我想以这样的优先级过滤它们:
如果colC == E然后返回E,那么检查colB == D返回D否则返回colA
输出

colA  colB  colC   final
 A      B    C      A 
 A      D    C      D
 B      B    E      E 
 A      D    C      D
 C      B    C      C

解决方法:

您可以使用np.select,它允许您根据条件列表在多个值中进行选择:

m1 = df.colC =='E'
m2 = df.colB =='D'
df.loc[:,'final'] = np.select([m1,m2], ['E', 'D'], default=df.colA)

   colA colB colC final
0    A    B    C     A
1    A    D    C     D
2    B    B    E     E
3    A    D    C     D
4    C    B    C     C

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...