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