from pandas import (
|
Index,
|
Series,
|
date_range,
|
)
|
import pandas._testing as tm
|
|
|
class TestGetNumericData:
|
def test_get_numeric_data_preserve_dtype(
|
self, using_copy_on_write, warn_copy_on_write
|
):
|
# get the numeric data
|
obj = Series([1, 2, 3])
|
result = obj._get_numeric_data()
|
tm.assert_series_equal(result, obj)
|
|
# returned object is a shallow copy
|
with tm.assert_cow_warning(warn_copy_on_write):
|
result.iloc[0] = 0
|
if using_copy_on_write:
|
assert obj.iloc[0] == 1
|
else:
|
assert obj.iloc[0] == 0
|
|
obj = Series([1, "2", 3.0])
|
result = obj._get_numeric_data()
|
expected = Series([], dtype=object, index=Index([], dtype=object))
|
tm.assert_series_equal(result, expected)
|
|
obj = Series([True, False, True])
|
result = obj._get_numeric_data()
|
tm.assert_series_equal(result, obj)
|
|
obj = Series(date_range("20130101", periods=3))
|
result = obj._get_numeric_data()
|
expected = Series([], dtype="M8[ns]", index=Index([], dtype=object))
|
tm.assert_series_equal(result, expected)
|