42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
|
from datetime import datetime
|
||
|
|
||
|
import numpy as np
|
||
|
|
||
|
from pandas import Series
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
def test_reindex_like(datetime_series):
|
||
|
other = datetime_series[::2]
|
||
|
tm.assert_series_equal(
|
||
|
datetime_series.reindex(other.index), datetime_series.reindex_like(other)
|
||
|
)
|
||
|
|
||
|
# GH#7179
|
||
|
day1 = datetime(2013, 3, 5)
|
||
|
day2 = datetime(2013, 5, 5)
|
||
|
day3 = datetime(2014, 3, 5)
|
||
|
|
||
|
series1 = Series([5, None, None], [day1, day2, day3])
|
||
|
series2 = Series([None, None], [day1, day3])
|
||
|
|
||
|
result = series1.reindex_like(series2, method="pad")
|
||
|
expected = Series([5, np.nan], index=[day1, day3])
|
||
|
tm.assert_series_equal(result, expected)
|
||
|
|
||
|
|
||
|
def test_reindex_like_nearest():
|
||
|
ser = Series(np.arange(10, dtype="int64"))
|
||
|
|
||
|
target = [0.1, 0.9, 1.5, 2.0]
|
||
|
other = ser.reindex(target, method="nearest")
|
||
|
expected = Series(np.around(target).astype("int64"), target)
|
||
|
|
||
|
result = ser.reindex_like(other, method="nearest")
|
||
|
tm.assert_series_equal(expected, result)
|
||
|
|
||
|
result = ser.reindex_like(other, method="nearest", tolerance=1)
|
||
|
tm.assert_series_equal(expected, result)
|
||
|
result = ser.reindex_like(other, method="nearest", tolerance=[1, 2, 3, 4])
|
||
|
tm.assert_series_equal(expected, result)
|