如何用一个公共参数连接多个不同形状的数据帧,然后在其上添加过滤器?

2024-04-29 12:39:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个不同形状的数据帧,我连接了两个具有一个公共列ID的数据帧

df1-

ID  A       B
1a  Success 0
2a  Success 20
3b  Failure 20
4c  Failure 10

df2-

ID  W       X
2a  Success NaN
1a  Success 20
4c  Failure 0
1s  Failure 12

但是,在任一数据帧中都可以有其他ID。我需要根据3个条件过滤数据。一个是列A具有成功参数的位置,另一个是列B大于0且列X为0或NaN的位置

我已使用以下链接:

df = pd.concat([df_w, df_a], ignore_index = True)

我曾尝试使用管道添加多个过滤器,并使用:-

df_w.where(df_a['ID'] == df_w['ID'])

获取普通身份证,但它不起作用。 我也尝试过使用groupby方法

它应该给我的输出为

ID  A       X   B
2a  Success NaN 20

Tags: 数据iddf参数failure链接nan条件