优化dask系列筛选-Series.isin()的惰性版本
我目前在一个更大的计算中嵌入了以下模式优化dask系列筛选-Series.isin()的惰性版本,dask,Dask,我目前在一个更大的计算中嵌入了以下模式 seq1.isin(seq2[seq3].unique().compute().values) 其中seq3是一个布尔级数。 性能似乎可以接受,但很难看,使用compute()会强制进行评估,可能会消除并行性的机会。 简单地说 seq1.isin(seq2[seq3].unique()) 不起作用,文档说明isin的参数必须是(我假定是Numpy)数组 有没有更好的方法来编写上述代码? 如果seq1和seq2相同怎么办?我认为不可能进行增量集合成员资格操
seq1.isin(seq2[seq3].unique().compute().values)
其中seq3
是一个布尔级数。
性能似乎可以接受,但很难看,使用compute()
会强制进行评估,可能会消除并行性的机会。
简单地说
seq1.isin(seq2[seq3].unique())
不起作用,文档说明isin
的参数必须是(我假定是Numpy)数组
有没有更好的方法来编写上述代码?
如果
seq1
和seq2
相同怎么办?我认为不可能进行增量集合成员资格操作。为了得到正确的结果,您需要有一个完全实现的集合来回答一个项目是否是它的成员的问题 您可能可以使用内部联接来实现此操作