test_get_numeric_data.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from pandas import (
  2. Index,
  3. Series,
  4. date_range,
  5. )
  6. import pandas._testing as tm
  7. class TestGetNumericData:
  8. def test_get_numeric_data_preserve_dtype(self, using_copy_on_write):
  9. # get the numeric data
  10. obj = Series([1, 2, 3])
  11. result = obj._get_numeric_data()
  12. tm.assert_series_equal(result, obj)
  13. # returned object is a shallow copy
  14. result.iloc[0] = 0
  15. if using_copy_on_write:
  16. assert obj.iloc[0] == 1
  17. else:
  18. assert obj.iloc[0] == 0
  19. obj = Series([1, "2", 3.0])
  20. result = obj._get_numeric_data()
  21. expected = Series([], dtype=object, index=Index([], dtype=object))
  22. tm.assert_series_equal(result, expected)
  23. obj = Series([True, False, True])
  24. result = obj._get_numeric_data()
  25. tm.assert_series_equal(result, obj)
  26. obj = Series(date_range("20130101", periods=3))
  27. result = obj._get_numeric_data()
  28. expected = Series([], dtype="M8[ns]", index=Index([], dtype=object))
  29. tm.assert_series_equal(result, expected)