test_reindex_like.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from datetime import datetime
  2. import numpy as np
  3. from pandas import Series
  4. import pandas._testing as tm
  5. def test_reindex_like(datetime_series):
  6. other = datetime_series[::2]
  7. tm.assert_series_equal(
  8. datetime_series.reindex(other.index), datetime_series.reindex_like(other)
  9. )
  10. # GH#7179
  11. day1 = datetime(2013, 3, 5)
  12. day2 = datetime(2013, 5, 5)
  13. day3 = datetime(2014, 3, 5)
  14. series1 = Series([5, None, None], [day1, day2, day3])
  15. series2 = Series([None, None], [day1, day3])
  16. result = series1.reindex_like(series2, method="pad")
  17. expected = Series([5, np.nan], index=[day1, day3])
  18. tm.assert_series_equal(result, expected)
  19. def test_reindex_like_nearest():
  20. ser = Series(np.arange(10, dtype="int64"))
  21. target = [0.1, 0.9, 1.5, 2.0]
  22. other = ser.reindex(target, method="nearest")
  23. expected = Series(np.around(target).astype("int64"), target)
  24. result = ser.reindex_like(other, method="nearest")
  25. tm.assert_series_equal(expected, result)
  26. result = ser.reindex_like(other, method="nearest", tolerance=1)
  27. tm.assert_series_equal(expected, result)
  28. result = ser.reindex_like(other, method="nearest", tolerance=[1, 2, 3, 4])
  29. tm.assert_series_equal(expected, result)