當前位置: 首頁>>代碼示例>>Python>>正文


Python pandas.TimedeltaIndex方法代碼示例

本文整理匯總了Python中pandas.TimedeltaIndex方法的典型用法代碼示例。如果您正苦於以下問題:Python pandas.TimedeltaIndex方法的具體用法?Python pandas.TimedeltaIndex怎麽用?Python pandas.TimedeltaIndex使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pandas的用法示例。


在下文中一共展示了pandas.TimedeltaIndex方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_tdi_round

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_tdi_round(self):
        td = pd.timedelta_range(start='16801 days', periods=5, freq='30Min')
        elt = td[1]

        expected_rng = TimedeltaIndex([Timedelta('16801 days 00:00:00'),
                                       Timedelta('16801 days 00:00:00'),
                                       Timedelta('16801 days 01:00:00'),
                                       Timedelta('16801 days 02:00:00'),
                                       Timedelta('16801 days 02:00:00')])
        expected_elt = expected_rng[1]

        tm.assert_index_equal(td.round(freq='H'), expected_rng)
        assert elt.round(freq='H') == expected_elt

        msg = pd._libs.tslibs.frequencies.INVALID_FREQ_ERR_MSG
        with pytest.raises(ValueError, match=msg):
            td.round(freq='foo')
        with pytest.raises(ValueError, match=msg):
            elt.round(freq='foo')

        msg = "<MonthEnd> is a non-fixed frequency"
        with pytest.raises(ValueError, match=msg):
            td.round(freq='M')
        with pytest.raises(ValueError, match=msg):
            elt.round(freq='M') 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:27,代碼來源:test_scalar_compat.py

示例2: test_difference_freq

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_difference_freq(self, sort):
        # GH14323: Difference of TimedeltaIndex should not preserve frequency

        index = timedelta_range("0 days", "5 days", freq="D")

        other = timedelta_range("1 days", "4 days", freq="D")
        expected = TimedeltaIndex(["0 days", "5 days"], freq=None)
        idx_diff = index.difference(other, sort)
        tm.assert_index_equal(idx_diff, expected)
        tm.assert_attr_equal('freq', idx_diff, expected)

        other = timedelta_range("2 days", "5 days", freq="D")
        idx_diff = index.difference(other, sort)
        expected = TimedeltaIndex(["0 days", "1 days"], freq=None)
        tm.assert_index_equal(idx_diff, expected)
        tm.assert_attr_equal('freq', idx_diff, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:18,代碼來源:test_timedelta.py

示例3: test_difference_sort

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_difference_sort(self, sort):

        index = pd.TimedeltaIndex(["5 days", "3 days", "2 days", "4 days",
                                   "1 days", "0 days"])

        other = timedelta_range("1 days", "4 days", freq="D")
        idx_diff = index.difference(other, sort)

        expected = TimedeltaIndex(["5 days", "0 days"], freq=None)

        if sort is None:
            expected = expected.sort_values()

        tm.assert_index_equal(idx_diff, expected)
        tm.assert_attr_equal('freq', idx_diff, expected)

        other = timedelta_range("2 days", "5 days", freq="D")
        idx_diff = index.difference(other, sort)
        expected = TimedeltaIndex(["1 days", "0 days"], freq=None)

        if sort is None:
            expected = expected.sort_values()

        tm.assert_index_equal(idx_diff, expected)
        tm.assert_attr_equal('freq', idx_diff, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:27,代碼來源:test_timedelta.py

示例4: test_factorize

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_factorize(self):
        idx1 = TimedeltaIndex(['1 day', '1 day', '2 day', '2 day', '3 day',
                               '3 day'])

        exp_arr = np.array([0, 0, 1, 1, 2, 2], dtype=np.intp)
        exp_idx = TimedeltaIndex(['1 day', '2 day', '3 day'])

        arr, idx = idx1.factorize()
        tm.assert_numpy_array_equal(arr, exp_arr)
        tm.assert_index_equal(idx, exp_idx)

        arr, idx = idx1.factorize(sort=True)
        tm.assert_numpy_array_equal(arr, exp_arr)
        tm.assert_index_equal(idx, exp_idx)

        # freq must be preserved
        idx3 = timedelta_range('1 day', periods=4, freq='s')
        exp_arr = np.array([0, 1, 2, 3], dtype=np.intp)
        arr, idx = idx3.factorize()
        tm.assert_numpy_array_equal(arr, exp_arr)
        tm.assert_index_equal(idx, idx3) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:23,代碼來源:test_timedelta.py

示例5: test_sort_values

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_sort_values(self):

        idx = TimedeltaIndex(['4d', '1d', '2d'])

        ordered = idx.sort_values()
        assert ordered.is_monotonic

        ordered = idx.sort_values(ascending=False)
        assert ordered[::-1].is_monotonic

        ordered, dexer = idx.sort_values(return_indexer=True)
        assert ordered.is_monotonic

        tm.assert_numpy_array_equal(dexer, np.array([1, 2, 0]),
                                    check_dtype=False)

        ordered, dexer = idx.sort_values(return_indexer=True, ascending=False)
        assert ordered[::-1].is_monotonic

        tm.assert_numpy_array_equal(dexer, np.array([0, 2, 1]),
                                    check_dtype=False) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:23,代碼來源:test_timedelta.py

示例6: test_float64_ns_rounded

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_float64_ns_rounded(self):
        # GH#23539 without specifying a unit, floats are regarded as nanos,
        #  and fractional portions are truncated
        tdi = TimedeltaIndex([2.3, 9.7])
        expected = TimedeltaIndex([2, 9])
        tm.assert_index_equal(tdi, expected)

        # integral floats are non-lossy
        tdi = TimedeltaIndex([2.0, 9.0])
        expected = TimedeltaIndex([2, 9])
        tm.assert_index_equal(tdi, expected)

        # NaNs get converted to NaT
        tdi = TimedeltaIndex([2.0, np.nan])
        expected = TimedeltaIndex([pd.Timedelta(nanoseconds=2), pd.NaT])
        tm.assert_index_equal(tdi, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:18,代碼來源:test_construction.py

示例7: test_tdi_addsub_integer_array_no_freq

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_tdi_addsub_integer_array_no_freq(self, box):
        # GH#19959
        tdi = TimedeltaIndex(['1 Day', 'NaT', '3 Hours'])
        other = box([14, -1, 16])
        with pytest.raises(NullFrequencyError):
            tdi + other
        with pytest.raises(NullFrequencyError):
            other + tdi
        with pytest.raises(NullFrequencyError):
            tdi - other
        with pytest.raises(NullFrequencyError):
            other - tdi

    # -------------------------------------------------------------
    # Binary operations TimedeltaIndex and timedelta-like
    # Note: add and sub are tested in tests.test_arithmetic, in-place
    #  tests are kept here because their behavior is Index-specific 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:19,代碼來源:test_arithmetic.py

示例8: test_nat

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_nat(self):
        assert pd.TimedeltaIndex._na_value is pd.NaT
        assert pd.TimedeltaIndex([])._na_value is pd.NaT

        idx = pd.TimedeltaIndex(['1 days', '2 days'])
        assert idx._can_hold_na

        tm.assert_numpy_array_equal(idx._isnan, np.array([False, False]))
        assert idx.hasnans is False
        tm.assert_numpy_array_equal(idx._nan_idxs,
                                    np.array([], dtype=np.intp))

        idx = pd.TimedeltaIndex(['1 days', 'NaT'])
        assert idx._can_hold_na

        tm.assert_numpy_array_equal(idx._isnan, np.array([False, True]))
        assert idx.hasnans is True
        tm.assert_numpy_array_equal(idx._nan_idxs,
                                    np.array([1], dtype=np.intp)) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:21,代碼來源:test_ops.py

示例9: test_equals

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_equals(self):
        # GH 13107
        idx = pd.TimedeltaIndex(['1 days', '2 days', 'NaT'])
        assert idx.equals(idx)
        assert idx.equals(idx.copy())
        assert idx.equals(idx.astype(object))
        assert idx.astype(object).equals(idx)
        assert idx.astype(object).equals(idx.astype(object))
        assert not idx.equals(list(idx))
        assert not idx.equals(pd.Series(idx))

        idx2 = pd.TimedeltaIndex(['2 days', '1 days', 'NaT'])
        assert not idx.equals(idx2)
        assert not idx.equals(idx2.copy())
        assert not idx.equals(idx2.astype(object))
        assert not idx.astype(object).equals(idx2)
        assert not idx.astype(object).equals(idx2.astype(object))
        assert not idx.equals(list(idx2))
        assert not idx.equals(pd.Series(idx2)) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:21,代碼來源:test_ops.py

示例10: test_freq_setter_errors

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_freq_setter_errors(self):
        # GH 20678
        idx = TimedeltaIndex(['0 days', '2 days', '4 days'])

        # setting with an incompatible freq
        msg = ('Inferred frequency 2D from passed values does not conform to '
               'passed frequency 5D')
        with pytest.raises(ValueError, match=msg):
            idx.freq = '5D'

        # setting with a non-fixed frequency
        msg = r'<2 \* BusinessDays> is a non-fixed frequency'
        with pytest.raises(ValueError, match=msg):
            idx.freq = '2B'

        # setting with non-freq string
        with pytest.raises(ValueError, match='Invalid frequency'):
            idx.freq = 'foo' 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:20,代碼來源:test_ops.py

示例11: test_insert_index_timedelta64

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_insert_index_timedelta64(self):
        obj = pd.TimedeltaIndex(['1 day', '2 day', '3 day', '4 day'])
        assert obj.dtype == 'timedelta64[ns]'

        # timedelta64 + timedelta64 => timedelta64
        exp = pd.TimedeltaIndex(['1 day', '10 day', '2 day', '3 day', '4 day'])
        self._assert_insert_conversion(obj, pd.Timedelta('10 day'),
                                       exp, 'timedelta64[ns]')

        # ToDo: must coerce to object
        msg = "cannot insert TimedeltaIndex with incompatible label"
        with pytest.raises(TypeError, match=msg):
            obj.insert(1, pd.Timestamp('2012-01-01'))

        # ToDo: must coerce to object
        msg = "cannot insert TimedeltaIndex with incompatible label"
        with pytest.raises(TypeError, match=msg):
            obj.insert(1, 1) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:20,代碼來源:test_coercion.py

示例12: test_tdi_cmp_str_invalid

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_tdi_cmp_str_invalid(self, box_with_array):
        # GH#13624
        xbox = box_with_array if box_with_array is not pd.Index else np.ndarray
        tdi = TimedeltaIndex(['1 day', '2 days'])
        tdarr = tm.box_expected(tdi, box_with_array)

        for left, right in [(tdarr, 'a'), ('a', tdarr)]:
            with pytest.raises(TypeError):
                left > right
            with pytest.raises(TypeError):
                left >= right
            with pytest.raises(TypeError):
                left < right
            with pytest.raises(TypeError):
                left <= right

            result = left == right
            expected = np.array([False, False], dtype=bool)
            expected = tm.box_expected(expected, xbox)
            tm.assert_equal(result, expected)

            result = left != right
            expected = np.array([True, True], dtype=bool)
            expected = tm.box_expected(expected, xbox)
            tm.assert_equal(result, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:27,代碼來源:test_timedelta64.py

示例13: test_dti_tdi_numeric_ops

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_dti_tdi_numeric_ops(self):
        # These are normally union/diff set-like ops
        tdi = TimedeltaIndex(['1 days', pd.NaT, '2 days'], name='foo')
        dti = pd.date_range('20130101', periods=3, name='bar')

        # TODO(wesm): unused?
        # td = Timedelta('1 days')
        # dt = Timestamp('20130101')

        result = tdi - tdi
        expected = TimedeltaIndex(['0 days', pd.NaT, '0 days'], name='foo')
        tm.assert_index_equal(result, expected)

        result = tdi + tdi
        expected = TimedeltaIndex(['2 days', pd.NaT, '4 days'], name='foo')
        tm.assert_index_equal(result, expected)

        result = dti - tdi  # name will be reset
        expected = DatetimeIndex(['20121231', pd.NaT, '20130101'])
        tm.assert_index_equal(result, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:22,代碼來源:test_timedelta64.py

示例14: test_td64arr_add_timestamp

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_td64arr_add_timestamp(self, box_with_array, tz_naive_fixture):
        # GH#23215

        # TODO: parametrize over scalar datetime types?
        tz = tz_naive_fixture
        other = Timestamp('2011-01-01', tz=tz)

        idx = TimedeltaIndex(['1 day', '2 day'])
        expected = DatetimeIndex(['2011-01-02', '2011-01-03'], tz=tz)

        # FIXME: fails with transpose=True because of tz-aware DataFrame
        #  transpose bug
        idx = tm.box_expected(idx, box_with_array, transpose=False)
        expected = tm.box_expected(expected, box_with_array, transpose=False)

        result = idx + other
        tm.assert_equal(result, expected)

        result = other + idx
        tm.assert_equal(result, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:22,代碼來源:test_timedelta64.py

示例15: test_td64arr_add_sub_td64_nat

# 需要導入模塊: import pandas [as 別名]
# 或者: from pandas import TimedeltaIndex [as 別名]
def test_td64arr_add_sub_td64_nat(self, box):
        # GH#23320 special handling for timedelta64("NaT")
        tdi = pd.TimedeltaIndex([NaT, Timedelta('1s')])
        other = np.timedelta64("NaT")
        expected = pd.TimedeltaIndex(["NaT"] * 2)

        obj = tm.box_expected(tdi, box)
        expected = tm.box_expected(expected, box)

        result = obj + other
        tm.assert_equal(result, expected)
        result = other + obj
        tm.assert_equal(result, expected)
        result = obj - other
        tm.assert_equal(result, expected)
        result = other - obj
        tm.assert_equal(result, expected) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:19,代碼來源:test_timedelta64.py


注:本文中的pandas.TimedeltaIndex方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。