Example #1
0
def test_from_datetime64_freq_changes():
    # https://github.com/pandas-dev/pandas/issues/23438
    arr = pd.date_range("2017", periods=3, freq="D")
    result = PeriodArray._from_datetime64(arr, freq="M")
    expected = period_array(['2017-01-01', '2017-01-01', '2017-01-01'],
                            freq="M")
    tm.assert_period_array_equal(result, expected)
Example #2
0
def test_from_datetime64_freq_changes():
    # https://github.com/pandas-dev/pandas/issues/23438
    arr = pd.date_range("2017", periods=3, freq="D")
    result = PeriodArray._from_datetime64(arr, freq="M")
    expected = period_array(['2017-01-01', '2017-01-01', '2017-01-01'],
                            freq="M")
    tm.assert_period_array_equal(result, expected)
Example #3
0
def test_period_array_readonly_object():
    # https://github.com/pandas-dev/pandas/issues/25403
    pa = period_array([pd.Period('2019-01-01')])
    arr = np.asarray(pa, dtype='object')
    arr.setflags(write=False)

    result = period_array(arr)
    tm.assert_period_array_equal(result, pa)

    result = pd.Series(arr)
    tm.assert_series_equal(result, pd.Series(pa))

    result = pd.DataFrame({"A": arr})
    tm.assert_frame_equal(result, pd.DataFrame({"A": pa}))
Example #4
0
def test_period_array_readonly_object():
    # https://github.com/pandas-dev/pandas/issues/25403
    pa = period_array([pd.Period('2019-01-01')])
    arr = np.asarray(pa, dtype='object')
    arr.setflags(write=False)

    result = period_array(arr)
    tm.assert_period_array_equal(result, pa)

    result = pd.Series(arr)
    tm.assert_series_equal(result, pd.Series(pa))

    result = pd.DataFrame({"A": arr})
    tm.assert_frame_equal(result, pd.DataFrame({"A": pa}))
Example #5
0
def test_values_consistent(array, expected_type, dtype):
    l_values = pd.Series(array)._values
    r_values = pd.Index(array)._values
    assert type(l_values) is expected_type
    assert type(l_values) is type(r_values)

    if isinstance(l_values, np.ndarray):
        tm.assert_numpy_array_equal(l_values, r_values)
    elif isinstance(l_values, pd.Index):
        tm.assert_index_equal(l_values, r_values)
    elif pd.api.types.is_categorical(l_values):
        tm.assert_categorical_equal(l_values, r_values)
    elif pd.api.types.is_period_dtype(l_values):
        tm.assert_period_array_equal(l_values, r_values)
    elif pd.api.types.is_interval_dtype(l_values):
        tm.assert_interval_array_equal(l_values, r_values)
    else:
        raise TypeError("Unexpected type {}".format(type(l_values)))

    assert l_values.dtype == dtype
    assert r_values.dtype == dtype
Example #6
0
def test_values_consistent(array, expected_type, dtype):
    l_values = pd.Series(array)._values
    r_values = pd.Index(array)._values
    assert type(l_values) is expected_type
    assert type(l_values) is type(r_values)

    if isinstance(l_values, np.ndarray):
        tm.assert_numpy_array_equal(l_values, r_values)
    elif isinstance(l_values, pd.Index):
        tm.assert_index_equal(l_values, r_values)
    elif pd.api.types.is_categorical(l_values):
        tm.assert_categorical_equal(l_values, r_values)
    elif pd.api.types.is_period_dtype(l_values):
        tm.assert_period_array_equal(l_values, r_values)
    elif pd.api.types.is_interval_dtype(l_values):
        tm.assert_interval_array_equal(l_values, r_values)
    else:
        raise TypeError("Unexpected type {}".format(type(l_values)))

    assert l_values.dtype == dtype
    assert r_values.dtype == dtype
Example #7
0
def test_setitem(key, value, expected):
    arr = PeriodArray(np.arange(3), freq="D")
    expected = PeriodArray(expected, freq="D")
    arr[key] = value
    tm.assert_period_array_equal(arr, expected)
Example #8
0
def test_astype_period():
    arr = period_array(['2000', '2001', None], freq='D')
    result = arr.astype(PeriodDtype("M"))
    expected = period_array(['2000', '2001', None], freq='M')
    tm.assert_period_array_equal(result, expected)
Example #9
0
def test_setitem(key, value, expected):
    arr = PeriodArray(np.arange(3), freq="D")
    expected = PeriodArray(expected, freq="D")
    arr[key] = value
    tm.assert_period_array_equal(arr, expected)
Example #10
0
def test_astype_period():
    arr = period_array(['2000', '2001', None], freq='D')
    result = arr.astype(PeriodDtype("M"))
    expected = period_array(['2000', '2001', None], freq='M')
    tm.assert_period_array_equal(result, expected)
Example #11
0
def test_astype_period():
    arr = period_array(["2000", "2001", None], freq="D")
    result = arr.astype(PeriodDtype("M"))
    expected = period_array(["2000", "2001", None], freq="M")
    tm.assert_period_array_equal(result, expected)