Python pandas.Interval() Examples
The following are 30
code examples of pandas.Interval().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pandas
, or try the search function
.
Example #1
Source File: dataserializer.py From mars with Apache License 2.0 | 6 votes |
def mars_serialize_context(): global _serialize_context if _serialize_context is None: ctx = pyarrow.default_serialization_context() ctx.register_type(SparseNDArray, 'mars.SparseNDArray', custom_serializer=_serialize_sparse_nd_array, custom_deserializer=_deserialize_sparse_nd_array) ctx.register_type(GroupByWrapper, 'pandas.GroupByWrapper', custom_serializer=_serialize_groupby_wrapper, custom_deserializer=_deserialize_groupby_wrapper) ctx.register_type(pd.Interval, 'pandas.Interval', custom_serializer=_serialize_pandas_interval, custom_deserializer=_deserialize_pandas_interval) ctx.register_type(pd.Categorical, 'pandas.Categorical', custom_serializer=_serialze_pandas_categorical, custom_deserializer=_deserialize_pandas_categorical) ctx.register_type(pd.CategoricalDtype, 'pandas.CategoricalDtype', custom_serializer=_serialize_pandas_categorical_dtype, custom_deserializer=_deserialize_pandas_categorical_dtype) _apply_pyarrow_serialization_patch(ctx) if vineyard is not None: # pragma: no cover vineyard.register_vineyard_serialize_context(ctx) _serialize_context = ctx return _serialize_context
Example #2
Source File: test_interval_new.py From recruit with Apache License 2.0 | 6 votes |
def test_get_loc_interval(self, closed, side): idx = IntervalIndex.from_tuples([(0, 1), (2, 3)], closed=closed) for bound in [[0, 1], [1, 2], [2, 3], [3, 4], [0, 2], [2.5, 3], [-1, 4]]: # if get_loc is supplied an interval, it should only search # for exact matches, not overlaps or covers, else KeyError. if closed == side: if bound == [0, 1]: assert idx.get_loc(Interval(0, 1, closed=side)) == 0 elif bound == [2, 3]: assert idx.get_loc(Interval(2, 3, closed=side)) == 1 else: with pytest.raises(KeyError): idx.get_loc(Interval(*bound, closed=side)) else: with pytest.raises(KeyError): idx.get_loc(Interval(*bound, closed=side))
Example #3
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_sort_values(self, closed): index = self.create_index(closed=closed) result = index.sort_values() tm.assert_index_equal(result, index) result = index.sort_values(ascending=False) tm.assert_index_equal(result, index[::-1]) # with nan index = IntervalIndex([Interval(1, 2), np.nan, Interval(0, 1)]) result = index.sort_values() expected = IntervalIndex([Interval(0, 1), Interval(1, 2), np.nan]) tm.assert_index_equal(result, expected) result = index.sort_values(ascending=False) expected = IntervalIndex([np.nan, Interval(1, 2), Interval(0, 1)]) tm.assert_index_equal(result, expected)
Example #4
Source File: test_interval_new.py From recruit with Apache License 2.0 | 6 votes |
def test_contains(self): index = IntervalIndex.from_arrays([0, 1], [1, 2], closed='right') # __contains__ requires perfect matches to intervals. assert 0 not in index assert 1 not in index assert 2 not in index assert Interval(0, 1, closed='right') in index assert Interval(0, 2, closed='right') not in index assert Interval(0, 0.5, closed='right') not in index assert Interval(3, 5, closed='right') not in index assert Interval(-1, 0, closed='left') not in index assert Interval(0, 1, closed='left') not in index assert Interval(0, 1, closed='both') not in index
Example #5
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_is_unique_interval(self, closed): """ Interval specific tests for is_unique in addition to base class tests """ # unique overlapping - distinct endpoints idx = IntervalIndex.from_tuples([(0, 1), (0.5, 1.5)], closed=closed) assert idx.is_unique is True # unique overlapping - shared endpoints idx = pd.IntervalIndex.from_tuples( [(1, 2), (1, 3), (2, 3)], closed=closed) assert idx.is_unique is True # unique nested idx = IntervalIndex.from_tuples([(-1, 1), (-2, 2)], closed=closed) assert idx.is_unique is True
Example #6
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_get_item(self, closed): i = IntervalIndex.from_arrays((0, 1, np.nan), (1, 2, np.nan), closed=closed) assert i[0] == Interval(0.0, 1.0, closed=closed) assert i[1] == Interval(1.0, 2.0, closed=closed) assert isna(i[2]) result = i[0:1] expected = IntervalIndex.from_arrays((0.,), (1.,), closed=closed) tm.assert_index_equal(result, expected) result = i[0:2] expected = IntervalIndex.from_arrays((0., 1), (1., 2.), closed=closed) tm.assert_index_equal(result, expected) result = i[1:3] expected = IntervalIndex.from_arrays((1., np.nan), (2., np.nan), closed=closed) tm.assert_index_equal(result, expected) # To be removed, replaced by test_interval_new.py (see #16316, #16386)
Example #7
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def testcontains(self): # can select values that are IN the range of a value i = IntervalIndex.from_arrays([0, 1], [1, 2]) assert i.contains(0.1) assert i.contains(0.5) assert i.contains(1) assert i.contains(Interval(0, 1)) assert i.contains(Interval(0, 2)) # these overlaps completely assert i.contains(Interval(0, 3)) assert i.contains(Interval(1, 3)) assert not i.contains(20) assert not i.contains(-20)
Example #8
Source File: test_ops.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def test_overlaps_interval( self, constructor, start_shift, closed, other_closed): start, shift = start_shift interval = Interval(start, start + 3 * shift, other_closed) # intervals: identical, nested, spanning, partial, adjacent, disjoint tuples = [(start, start + 3 * shift), (start + shift, start + 2 * shift), (start - shift, start + 4 * shift), (start + 2 * shift, start + 4 * shift), (start + 3 * shift, start + 4 * shift), (start + 4 * shift, start + 5 * shift)] interval_container = constructor.from_tuples(tuples, closed) adjacent = (interval.closed_right and interval_container.closed_left) expected = np.array([True, True, True, True, adjacent, False]) result = interval_container.overlaps(interval) tm.assert_numpy_array_equal(result, expected)
Example #9
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_get_loc_datetimelike_nonoverlapping(self, breaks): # GH 20636 # nonoverlapping = IntervalIndex method and no i8 conversion index = IntervalIndex.from_breaks(breaks) value = index[0].mid result = index.get_loc(value) expected = 0 assert result == expected interval = Interval(index[0].left, index[1].right) result = index.get_loc(interval) expected = slice(0, 2) assert result == expected # Make consistent with test_interval_new.py (see #16316, #16386)
Example #10
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_get_loc_datetimelike_overlapping(self, arrays): # GH 20636 # overlapping = IntervalTree method with i8 conversion index = IntervalIndex.from_arrays(*arrays) value = index[0].mid + Timedelta('12 hours') result = np.sort(index.get_loc(value)) expected = np.array([0, 1], dtype='intp') assert tm.assert_numpy_array_equal(result, expected) interval = Interval(index[0].left, index[1].right) result = np.sort(index.get_loc(interval)) expected = np.array([0, 1, 2], dtype='intp') assert tm.assert_numpy_array_equal(result, expected) # To be removed, replaced by test_interval_new.py (see #16316, #16386)
Example #11
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_contains(self): # Only endpoints are valid. i = IntervalIndex.from_arrays([0, 1], [1, 2]) # Invalid assert 0 not in i assert 1 not in i assert 2 not in i # Valid assert Interval(0, 1) in i assert Interval(0, 2) in i assert Interval(0, 0.5) in i assert Interval(3, 5) not in i assert Interval(-1, 0, closed='left') not in i # To be removed, replaced by test_interval_new.py (see #16316, #16386)
Example #12
Source File: test_interval.py From vnpy_crypto with MIT License | 6 votes |
def test_math_mult(self, interval): expected = Interval(0, 2) actual = interval * 2 assert expected == actual expected = Interval(0, 2) actual = 2 * interval assert expected == actual actual = interval actual *= 2 assert expected == actual msg = r"unsupported operand type\(s\) for \*" with tm.assert_raises_regex(TypeError, msg): interval * Interval(1, 2) msg = r"can\'t multiply sequence by non-int" with tm.assert_raises_regex(TypeError, msg): interval * 'foo'
Example #13
Source File: test_interval_new.py From recruit with Apache License 2.0 | 6 votes |
def test_contains_method(self): index = IntervalIndex.from_arrays([0, 1], [1, 2], closed='right') assert not index.contains(0) assert index.contains(0.1) assert index.contains(0.5) assert index.contains(1) assert index.contains(Interval(0, 1, closed='right')) assert not index.contains(Interval(0, 1, closed='left')) assert not index.contains(Interval(0, 1, closed='both')) assert not index.contains(Interval(0, 2, closed='right')) assert not index.contains(Interval(0, 3, closed='right')) assert not index.contains(Interval(1, 3, closed='right')) assert not index.contains(20) assert not index.contains(-20)
Example #14
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_with_slices(self): s = self.s # slice of interval with pytest.raises(NotImplementedError): s.loc[Interval(3, 6):] with pytest.raises(NotImplementedError): s[Interval(3, 6):] expected = s.iloc[3:5] result = s[[Interval(3, 6)]] tm.assert_series_equal(expected, result) # slice of scalar with step != 1 with pytest.raises(ValueError): s[0:4:2] # To be removed, replaced by test_interval_new.py (see #16316, #16386)
Example #15
Source File: test_interval.py From vnpy_crypto with MIT License | 6 votes |
def test_math_add(self, interval): expected = Interval(1, 2) actual = interval + 1 assert expected == actual expected = Interval(1, 2) actual = 1 + interval assert expected == actual actual = interval actual += 1 assert expected == actual msg = r"unsupported operand type\(s\) for \+" with tm.assert_raises_regex(TypeError, msg): interval + Interval(1, 2) with tm.assert_raises_regex(TypeError, msg): interval + 'foo'
Example #16
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_non_unique_moar(self): idx = IntervalIndex.from_tuples([(1, 3), (1, 3), (3, 7)]) s = Series(range(len(idx)), index=idx) result = s.loc[Interval(1, 3)] expected = s.iloc[[0, 1]] tm.assert_series_equal(expected, result) # non-unique index and slices not allowed with pytest.raises(ValueError): s.loc[Interval(1, 3):] with pytest.raises(ValueError): s[Interval(1, 3):] # non-unique with pytest.raises(ValueError): s[[Interval(1, 3)]] # TODO: check this behavior is consistent with test_interval_new.py
Example #17
Source File: test_interval_new.py From recruit with Apache License 2.0 | 6 votes |
def test_non_unique_moar(self): idx = IntervalIndex.from_tuples([(1, 3), (1, 3), (3, 7)]) s = Series(range(len(idx)), index=idx) expected = s.iloc[[0, 1]] result = s.loc[Interval(1, 3)] tm.assert_series_equal(expected, result) expected = s result = s.loc[Interval(1, 3):] tm.assert_series_equal(expected, result) expected = s result = s[Interval(1, 3):] tm.assert_series_equal(expected, result) expected = s.iloc[[0, 1]] result = s[[Interval(1, 3)]] tm.assert_series_equal(expected, result)
Example #18
Source File: test_interval.py From vnpy_crypto with MIT License | 6 votes |
def test_contains(self, interval): assert 0.5 in interval assert 1 in interval assert 0 not in interval msg = "__contains__ not defined for two intervals" with tm.assert_raises_regex(TypeError, msg): interval in interval interval_both = Interval(0, 1, closed='both') assert 0 in interval_both assert 1 in interval_both interval_neither = Interval(0, 1, closed='neither') assert 0 not in interval_neither assert 0.5 in interval_neither assert 1 not in interval_neither
Example #19
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_contains(self, interval): assert 0.5 in interval assert 1 in interval assert 0 not in interval msg = "__contains__ not defined for two intervals" with pytest.raises(TypeError, match=msg): interval in interval interval_both = Interval(0, 1, closed='both') assert 0 in interval_both assert 1 in interval_both interval_neither = Interval(0, 1, closed='neither') assert 0 not in interval_neither assert 0.5 in interval_neither assert 1 not in interval_neither
Example #20
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_math_add(self, closed): interval = Interval(0, 1, closed=closed) expected = Interval(1, 2, closed=closed) result = interval + 1 assert result == expected result = 1 + interval assert result == expected result = interval result += 1 assert result == expected msg = r"unsupported operand type\(s\) for \+" with pytest.raises(TypeError, match=msg): interval + interval with pytest.raises(TypeError, match=msg): interval + 'foo'
Example #21
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_math_sub(self, closed): interval = Interval(0, 1, closed=closed) expected = Interval(-1, 0, closed=closed) result = interval - 1 assert result == expected result = interval result -= 1 assert result == expected msg = r"unsupported operand type\(s\) for -" with pytest.raises(TypeError, match=msg): interval - interval with pytest.raises(TypeError, match=msg): interval - 'foo'
Example #22
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_math_mult(self, closed): interval = Interval(0, 1, closed=closed) expected = Interval(0, 2, closed=closed) result = interval * 2 assert result == expected result = 2 * interval assert result == expected result = interval result *= 2 assert result == expected msg = r"unsupported operand type\(s\) for \*" with pytest.raises(TypeError, match=msg): interval * interval msg = r"can\'t multiply sequence by non-int" with pytest.raises(TypeError, match=msg): interval * 'foo'
Example #23
Source File: test_interval.py From recruit with Apache License 2.0 | 6 votes |
def test_math_div(self, closed): interval = Interval(0, 1, closed=closed) expected = Interval(0, 0.5, closed=closed) result = interval / 2.0 assert result == expected result = interval result /= 2.0 assert result == expected msg = r"unsupported operand type\(s\) for /" with pytest.raises(TypeError, match=msg): interval / interval with pytest.raises(TypeError, match=msg): interval / 'foo'
Example #24
Source File: test_interval_new.py From vnpy_crypto with MIT License | 6 votes |
def test_non_unique_moar(self): idx = IntervalIndex.from_tuples([(1, 3), (1, 3), (3, 7)]) s = Series(range(len(idx)), index=idx) expected = s.iloc[[0, 1]] result = s.loc[Interval(1, 3)] tm.assert_series_equal(expected, result) expected = s result = s.loc[Interval(1, 3):] tm.assert_series_equal(expected, result) expected = s result = s[Interval(1, 3):] tm.assert_series_equal(expected, result) expected = s.iloc[[0, 1]] result = s[[Interval(1, 3)]] tm.assert_series_equal(expected, result)
Example #25
Source File: test_interval.py From vnpy_crypto with MIT License | 6 votes |
def test_non_unique_moar(self): idx = IntervalIndex.from_tuples([(1, 3), (1, 3), (3, 7)]) s = Series(range(len(idx)), index=idx) result = s.loc[Interval(1, 3)] expected = s.iloc[[0, 1]] tm.assert_series_equal(expected, result) # non-unique index and slices not allowed with pytest.raises(ValueError): s.loc[Interval(1, 3):] with pytest.raises(ValueError): s[Interval(1, 3):] # non-unique with pytest.raises(ValueError): s[[Interval(1, 3)]] # TODO: check this behavior is consistent with test_interval_new.py
Example #26
Source File: test_interval_new.py From vnpy_crypto with MIT License | 6 votes |
def test_contains_method(self): index = IntervalIndex.from_arrays([0, 1], [1, 2], closed='right') assert not index.contains(0) assert index.contains(0.1) assert index.contains(0.5) assert index.contains(1) assert index.contains(Interval(0, 1), closed='right') assert not index.contains(Interval(0, 1), closed='left') assert not index.contains(Interval(0, 1), closed='both') assert not index.contains(Interval(0, 2), closed='right') assert not index.contains(Interval(0, 3), closed='right') assert not index.contains(Interval(1, 3), closed='right') assert not index.contains(20) assert not index.contains(-20)
Example #27
Source File: test_interval_new.py From vnpy_crypto with MIT License | 6 votes |
def test_contains(self): index = IntervalIndex.from_arrays([0, 1], [1, 2], closed='right') # __contains__ requires perfect matches to intervals. assert 0 not in index assert 1 not in index assert 2 not in index assert Interval(0, 1, closed='right') in index assert Interval(0, 2, closed='right') not in index assert Interval(0, 0.5, closed='right') not in index assert Interval(3, 5, closed='right') not in index assert Interval(-1, 0, closed='left') not in index assert Interval(0, 1, closed='left') not in index assert Interval(0, 1, closed='both') not in index
Example #28
Source File: test_interval_new.py From vnpy_crypto with MIT License | 6 votes |
def test_get_loc_interval(self, idx_side, side): idx = IntervalIndex.from_tuples([(0, 1), (2, 3)], closed=idx_side) for bound in [[0, 1], [1, 2], [2, 3], [3, 4], [0, 2], [2.5, 3], [-1, 4]]: # if get_loc is supplied an interval, it should only search # for exact matches, not overlaps or covers, else KeyError. if idx_side == side: if bound == [0, 1]: assert idx.get_loc(Interval(0, 1, closed=side)) == 0 elif bound == [2, 3]: assert idx.get_loc(Interval(2, 3, closed=side)) == 1 else: with pytest.raises(KeyError): idx.get_loc(Interval(*bound, closed=side)) else: with pytest.raises(KeyError): idx.get_loc(Interval(*bound, closed=side))
Example #29
Source File: test_ops.py From recruit with Apache License 2.0 | 6 votes |
def test_overlaps_interval( self, constructor, start_shift, closed, other_closed): start, shift = start_shift interval = Interval(start, start + 3 * shift, other_closed) # intervals: identical, nested, spanning, partial, adjacent, disjoint tuples = [(start, start + 3 * shift), (start + shift, start + 2 * shift), (start - shift, start + 4 * shift), (start + 2 * shift, start + 4 * shift), (start + 3 * shift, start + 4 * shift), (start + 4 * shift, start + 5 * shift)] interval_container = constructor.from_tuples(tuples, closed) adjacent = (interval.closed_right and interval_container.closed_left) expected = np.array([True, True, True, True, adjacent, False]) result = interval_container.overlaps(interval) tm.assert_numpy_array_equal(result, expected)
Example #30
Source File: test_interval.py From recruit with Apache License 2.0 | 5 votes |
def make_data(): N = 100 left = np.random.uniform(size=N).cumsum() right = left + np.random.uniform(size=N) return [Interval(l, r) for l, r in zip(left, right)]