@@ -181,16 +181,49 @@ def allclose_or_equiv(arr1, arr2, rtol=1e-5, atol=1e-8):
181181 arr2 = asarray (arr2 )
182182 if arr1 .shape != arr2 .shape :
183183 return False
184+ if (
185+ dask_array
186+ and isinstance (arr1 , dask_array .Array )
187+ and isinstance (arr2 , dask_array .Array )
188+ ):
189+ # GH3068
190+ if arr1 .name == arr2 .name :
191+ return True
184192 return bool (isclose (arr1 , arr2 , rtol = rtol , atol = atol , equal_nan = True ).all ())
185193
186194
195+ def lazy_array_equiv (arr1 , arr2 ):
196+ """Like array_equal, but doesn't actually compare values
197+ """
198+ arr1 = asarray (arr1 )
199+ arr2 = asarray (arr2 )
200+ if arr1 .shape != arr2 .shape :
201+ return False
202+ if (
203+ dask_array
204+ and isinstance (arr1 , dask_array .Array )
205+ and isinstance (arr2 , dask_array .Array )
206+ ):
207+ # GH3068
208+ if arr1 .name == arr2 .name :
209+ return True
210+
211+
187212def array_equiv (arr1 , arr2 ):
188213 """Like np.array_equal, but also allows values to be NaN in both arrays
189214 """
190215 arr1 = asarray (arr1 )
191216 arr2 = asarray (arr2 )
192217 if arr1 .shape != arr2 .shape :
193218 return False
219+ if (
220+ dask_array
221+ and isinstance (arr1 , dask_array .Array )
222+ and isinstance (arr2 , dask_array .Array )
223+ ):
224+ # GH3068
225+ if arr1 .name == arr2 .name :
226+ return True
194227 with warnings .catch_warnings ():
195228 warnings .filterwarnings ("ignore" , "In the future, 'NAT == x'" )
196229 flag_array = (arr1 == arr2 ) | (isnull (arr1 ) & isnull (arr2 ))
@@ -205,6 +238,14 @@ def array_notnull_equiv(arr1, arr2):
205238 arr2 = asarray (arr2 )
206239 if arr1 .shape != arr2 .shape :
207240 return False
241+ if (
242+ dask_array
243+ and isinstance (arr1 , dask_array .Array )
244+ and isinstance (arr2 , dask_array .Array )
245+ ):
246+ # GH3068
247+ if arr1 .name == arr2 .name :
248+ return True
208249 with warnings .catch_warnings ():
209250 warnings .filterwarnings ("ignore" , "In the future, 'NAT == x'" )
210251 flag_array = (arr1 == arr2 ) | isnull (arr1 ) | isnull (arr2 )
0 commit comments