MCPcopy Create free account
hub / github.com/dask/dask / _check_dask

Function _check_dask

dask/dataframe/utils.py:433–492  ·  view source on GitHub ↗
(dsk, check_names=True, check_dtypes=True, result=None, scheduler=None)

Source from the content-addressed store, hash-verified

431
432
433def _check_dask(dsk, check_names=True, check_dtypes=True, result=None, scheduler=None):
434 import dask.dataframe as dd
435
436 if hasattr(dsk, "__dask_graph__"):
437 graph = dsk.__dask_graph__()
438 if hasattr(graph, "validate"):
439 graph.validate()
440 if result is None:
441 result = dsk.compute(scheduler=scheduler)
442 if isinstance(dsk, dd.Index) or is_index_like(dsk._meta):
443 assert "Index" in type(result).__name__, type(result)
444 # assert type(dsk._meta) == type(result), type(dsk._meta)
445 if check_names:
446 assert dsk.name == result.name
447 assert dsk._meta.name == result.name
448 if isinstance(result, pd.MultiIndex):
449 assert result.names == dsk._meta.names
450 if check_dtypes:
451 assert_dask_dtypes(dsk, result)
452 elif isinstance(dsk, dd.Series) or is_series_like(dsk._meta):
453 assert "Series" in type(result).__name__, type(result)
454 assert type(dsk._meta) == type(result), type(dsk._meta)
455 if check_names:
456 assert dsk.name == result.name, (dsk.name, result.name)
457 assert dsk._meta.name == result.name
458 if check_dtypes:
459 assert_dask_dtypes(dsk, result)
460 _check_dask(
461 dsk.index,
462 check_names=check_names,
463 check_dtypes=check_dtypes,
464 result=result.index,
465 )
466 elif isinstance(dsk, dd.DataFrame) or is_dataframe_like(dsk._meta):
467 assert "DataFrame" in type(result).__name__, type(result)
468 assert isinstance(dsk.columns, pd.Index), type(dsk.columns)
469 assert type(dsk._meta) == type(result), type(dsk._meta)
470 if check_names:
471 tm.assert_index_equal(dsk.columns, result.columns)
472 tm.assert_index_equal(dsk._meta.columns, result.columns)
473 if check_dtypes:
474 assert_dask_dtypes(dsk, result)
475 _check_dask(
476 dsk.index,
477 check_names=check_names,
478 check_dtypes=check_dtypes,
479 result=result.index,
480 )
481 else:
482 if not np.isscalar(result) and not isinstance(
483 result, (pd.Timestamp, pd.Timedelta)
484 ):
485 raise TypeError(
486 "Expected object of type dataframe, series, index, or scalar.\n"
487 " Got: " + str(type(result))
488 )
489 if check_dtypes:
490 assert_dask_dtypes(dsk, result)

Callers 1

assert_eqFunction · 0.85

Calls 7

is_index_likeFunction · 0.90
is_series_likeFunction · 0.90
is_dataframe_likeFunction · 0.90
assert_dask_dtypesFunction · 0.85
validateMethod · 0.80
__dask_graph__Method · 0.45
computeMethod · 0.45

Tested by

no test coverage detected