我有一個包含一些“信號”列和“響應”列的大型數據框: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
添加回答
舉報
0/150
提交
取消