微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐