为了账号安全,请及时绑定邮箱和手机立即绑定

在 Pandas DataFrame 中相互检查列

在 Pandas DataFrame 中相互检查列

慕仙森 2023-12-12 14:56:53
我有一个包含一些“信号”列和“响应”列的大型数据框:In [1]: dfOut[1]:                                 response1   response2    signal1    signal2    signal3       2020-01-01        True       False       True       True      False       2020-01-02        True        True      False       True      False       2020-01-03       False        True       True      False      False我想检查每对(响应,信号)并返回一个多索引数据帧:In [2]: true_positiveOut[2]:                                   response1                        response2                      signal1    signal2    signal3    signal1    signal2    signal3       2020-01-01        True       True      False      False      False       True       2020-01-02       False       True      False      False       True      False        2020-01-03       False       True       True       True      False      False一定有一种方法需要循环的映射方法吗?
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

concat将 df 分成两部分后尝试


r = df.filter(like = 'response')

s = df.filter(like = 'signal')

out = pd.concat([s.eq(r[x], axis=0)for x in r.columns], keys=r.columns, axis=1)

out

Out[229]: 

           response1                 response2                

             signal1 signal2 signal3   signal1 signal2 signal3

2020-01-01      True    True   False     False   False    True

2020-01-02     False    True   False     False    True   False

2020-01-03     False    True    True      True   False   False


查看完整回答
反对 回复 2023-12-12
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号