假设我有这样一个数据框: Date Issuer Ticker Duplicate Value0 05/14/20 00:00:00 BARCLAYS SQ 0 NaN1 05/11/20 00:00:00 BARCLAYS SQ 0 12 05/11/20 00:00:00 ARGUS TTD 0 NaN3 05/11/20 00:00:00 ARGUS TTD 0 14 05/11/20 00:00:00 BARCLAYS SQ 0 NaN我想在同一日期发生两次事件时为“重复”赋予值“1”,例如:05/11/20 BARCLAYS SQ(发生两次)并连接两行,以便如果“值”存在它会覆盖另一行中的 NaN。我会非常感谢一些帮助的人!谢谢!!!编辑:加入后的预期输出: Date Issuer Ticker Duplicate Value0 05/14/20 00:00:00 BARCLAYS SQ 0 NaN1 05/11/20 00:00:00 BARCLAYS SQ 0 13 05/11/20 00:00:00 ARGUS TTD 0 1
1 回答

守着一只汪
TA贡献1872条经验 获得超3个赞
如果只需要删除具有 3 列名称的重复行的缺失值行,请使用:
mask1 = df.duplicated(['Date','Issuer','Ticker'], keep=False)
mask2 = df['Value'].notna()
df = df[~mask1 | mask2]
print (df)
Date Issuer Ticker Duplicate Value
0 05/14/20 00:00:00 BARCLAYS SQ 0 NaN
1 05/11/20 00:00:00 BARCLAYS SQ 0 1.0
3 05/11/20 00:00:00 ARGUS TTD 0 1.0
添加回答
举报
0/150
提交
取消