Python 创建具有相同维度的交叉点数据帧

Python 创建具有相同维度的交叉点数据帧,python,pandas,Python,Pandas,我有数据帧的 x y b 0.0 1.0 a 1.0 0.0 c 0.0 1.0 及 我希望找到值的交集(每个数据帧中给定位置的值为1),以便输出为: x y b 0.0 1.0 a 1.0 0.0 c 0.0 0.0 我尝试过使用交集方法,但没有成功。我需要最有效的方法,因为我的实际数据帧的尺寸是50000*50000。有什么建议吗 更新 使用这里建议的方法会使我的16GB内存达到最大。为什么会这样?生成的数据帧具有相同的形状 干杯您

我有数据帧的

     x    y
b  0.0  1.0
a  1.0  0.0
c  0.0  1.0

我希望找到值的交集(每个数据帧中给定位置的值为1),以便输出为:

     x    y
b  0.0  1.0
a  1.0  0.0
c  0.0  0.0
我尝试过使用交集方法,但没有成功。我需要最有效的方法,因为我的实际数据帧的尺寸是50000*50000。有什么建议吗

更新

使用这里建议的方法会使我的16GB内存达到最大。为什么会这样?生成的数据帧具有相同的形状


干杯

您可以直接使用AND运算符
df1和df2
尝试
(df1.astype(bool)和df2.astype(bool)).astype(float)

我尝试了Ken提出的解决方案,但得到:
TypeError:ufunc“按位”和“不受支持…”

乘法:
df1.mul(df2)
?哇。真不敢相信我没想到。1 * 0 == 0. 谢谢
     x    y
b  0.0  1.0
a  1.0  0.0
c  0.0  0.0