test_set_value.py 991 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from datetime import datetime
  2. import numpy as np
  3. from pandas import (
  4. DatetimeIndex,
  5. Series,
  6. )
  7. import pandas._testing as tm
  8. def test_series_set_value():
  9. # GH#1561
  10. dates = [datetime(2001, 1, 1), datetime(2001, 1, 2)]
  11. index = DatetimeIndex(dates)
  12. s = Series(dtype=object)
  13. s._set_value(dates[0], 1.0)
  14. s._set_value(dates[1], np.nan)
  15. expected = Series([1.0, np.nan], index=index)
  16. tm.assert_series_equal(s, expected)
  17. def test_set_value_dt64(datetime_series):
  18. idx = datetime_series.index[10]
  19. res = datetime_series._set_value(idx, 0)
  20. assert res is None
  21. assert datetime_series[idx] == 0
  22. def test_set_value_str_index(string_series):
  23. # equiv
  24. ser = string_series.copy()
  25. res = ser._set_value("foobar", 0)
  26. assert res is None
  27. assert ser.index[-1] == "foobar"
  28. assert ser["foobar"] == 0
  29. ser2 = string_series.copy()
  30. ser2.loc["foobar"] = 0
  31. assert ser2.index[-1] == "foobar"
  32. assert ser2["foobar"] == 0