Python 添加两个布尔数据帧

Python 添加两个布尔数据帧,python,pandas,dataframe,boolean,Python,Pandas,Dataframe,Boolean,我目前有两个布尔数据帧,如下所示: df1 df2 我需要将df1乘以+1,将df2乘以-1,并将两个数据帧相加,例如得到df3,它应该如下所示,df1中的任何真值都有+1,df2中的任何真值都有-1 df3 如何实现这一点?只需使用df.astype将其转换为int并添加: df1.astype(int) + df2.astype(int).mul(-1) 演示: 您尝试过什么,发现了哪些问题? In [709]: df1 Out[709]: A B

我目前有两个布尔数据帧,如下所示:

df1

df2

我需要将df1乘以+1,将df2乘以-1,并将两个数据帧相加,例如得到df3,它应该如下所示,df1中的任何真值都有+1,df2中的任何真值都有-1

df3


如何实现这一点?

只需使用
df.astype
将其转换为int并添加:

df1.astype(int) + df2.astype(int).mul(-1)

演示:


您尝试过什么,发现了哪些问题?
In [709]: df1
Out[709]: 
       A      B      C      D      E
0   True  False  False  False  False
1   True  False  False   True   True
2  False  False  False  False   True
3   True   True  False   True   True
4   True  False  False  False   True
5   True  False  False   True  False
6  False  False   True  False   True
7   True   True  False  False   True
8   True  False  False  False   True
9  False   True  False   True   True

In [710]: df2
Out[710]: 
       A      B      C      D      E
0   True  False   True  False  False
1  False   True  False   True  False
2  False  False  False   True   True
3   True  False  False   True  False
4   True   True  False   True  False
5  False   True  False   True   True
6   True  False   True  False  False
7   True  False   True   True   True
8  False   True   True   True  False
9  False  False  False  False  False

In [711]: df1.astype(int) + df2.astype(int).mul(-1)
Out[711]: 
   A  B  C  D  E
0  0  0 -1  0  0
1  1 -1  0  0  1
2  0  0  0 -1  0
3  0  1  0  0  1
4  0 -1  0 -1  1
5  1 -1  0  0 -1
6 -1  0  0  0  1
7  0  1 -1 -1  0
8  1 -1 -1 -1  1
9  0  1  0  1  1