在Panda中,我有一个包含值的X乘Y维度的数据帧。
然后我有一个相同的panda数据帧,具有X乘Y的维度(与df1相同(,包含True/False值。
我只想返回df1中的元素,其中df2上的相同位置的值为True。
做这件事最快的方法是什么?有没有一种方法可以在不转换为numpy数组的情况下做到这一点?
如果没有可复制的示例,我可能会错过一些调整/细节,但我认为您可以通过数据帧乘法来实现这一点
df1.mul(df2)
这将使每个元素与另一个数据帧中的相应元素相乘,其中True
将返回另一个元素,False
将返回null。
也可以使用掩码
df1.mask(df2)
这类似于df1[df2]
,并用NaN替换隐藏值,尽管您可以使用other
选项选择要替换的值
10x10数据帧上的快速基准测试表明,df.mul
方法比快约5倍