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

Function valid_divisions

dask/dataframe/utils.py:674–715  ·  view source on GitHub ↗

Are the provided divisions valid? Examples -------- >>> valid_divisions([1, 2, 3]) True >>> valid_divisions([3, 2, 1]) False >>> valid_divisions([1, 1, 1]) False >>> valid_divisions([0, 1, 1]) True >>> valid_divisions((1, 2, 3)) True >>> valid_div

(divisions)

Source from the content-addressed store, hash-verified

672
673
674def valid_divisions(divisions):
675 """Are the provided divisions valid?
676
677 Examples
678 --------
679 >>> valid_divisions([1, 2, 3])
680 True
681 >>> valid_divisions([3, 2, 1])
682 False
683 >>> valid_divisions([1, 1, 1])
684 False
685 >>> valid_divisions([0, 1, 1])
686 True
687 >>> valid_divisions((1, 2, 3))
688 True
689 >>> valid_divisions(123)
690 False
691 >>> valid_divisions([0, float('nan'), 1])
692 False
693 """
694 if not isinstance(divisions, (tuple, list)):
695 return False
696
697 # Cast tuples to lists as `pd.isnull` treats them differently
698 # https://github.com/pandas-dev/pandas/issues/52283
699 if isinstance(divisions, tuple):
700 divisions = list(divisions)
701
702 if pd.isnull(divisions).any():
703 return False
704
705 for i, x in enumerate(divisions[:-2]):
706 if x >= divisions[i + 1]:
707 return False
708 if isinstance(x, Number) and math.isnan(x):
709 return False
710
711 for x in divisions[-2:]:
712 if isinstance(x, Number) and math.isnan(x):
713 return False
714
715 return divisions[-2] <= divisions[-1]
716
717
718def drop_by_shallow_copy(df, columns, errors="raise"):

Callers 3

_divisionsMethod · 0.90
test_valid_divisionsFunction · 0.90

Calls 2

anyMethod · 0.45
isnullMethod · 0.45

Tested by 1

test_valid_divisionsFunction · 0.72