123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import numpy as np
- from pandas import DataFrame
- import pandas._testing as tm
- from pandas.tests.copy_view.util import get_array
- def test_clip_inplace_reference(using_copy_on_write):
- df = DataFrame({"a": [1.5, 2, 3]})
- df_copy = df.copy()
- arr_a = get_array(df, "a")
- view = df[:]
- df.clip(lower=2, inplace=True)
- # Clip not actually inplace right now but could be
- assert not np.shares_memory(get_array(df, "a"), arr_a)
- if using_copy_on_write:
- assert df._mgr._has_no_reference(0)
- assert view._mgr._has_no_reference(0)
- tm.assert_frame_equal(df_copy, view)
- def test_clip_inplace_reference_no_op(using_copy_on_write):
- df = DataFrame({"a": [1.5, 2, 3]})
- df_copy = df.copy()
- arr_a = get_array(df, "a")
- view = df[:]
- df.clip(lower=0, inplace=True)
- if using_copy_on_write:
- assert np.shares_memory(get_array(df, "a"), arr_a)
- assert not df._mgr._has_no_reference(0)
- assert not view._mgr._has_no_reference(0)
- tm.assert_frame_equal(df_copy, view)
- else:
- assert not np.shares_memory(get_array(df, "a"), arr_a)
- def test_clip_inplace(using_copy_on_write):
- df = DataFrame({"a": [1.5, 2, 3]})
- arr_a = get_array(df, "a")
- df.clip(lower=2, inplace=True)
- # Clip not actually inplace right now but could be
- assert not np.shares_memory(get_array(df, "a"), arr_a)
- if using_copy_on_write:
- assert df._mgr._has_no_reference(0)
- def test_clip(using_copy_on_write):
- df = DataFrame({"a": [1.5, 2, 3]})
- df_orig = df.copy()
- df2 = df.clip(lower=2)
- assert not np.shares_memory(get_array(df2, "a"), get_array(df, "a"))
- if using_copy_on_write:
- assert df._mgr._has_no_reference(0)
- tm.assert_frame_equal(df_orig, df)
- def test_clip_no_op(using_copy_on_write):
- df = DataFrame({"a": [1.5, 2, 3]})
- df2 = df.clip(lower=0)
- if using_copy_on_write:
- assert not df._mgr._has_no_reference(0)
- assert np.shares_memory(get_array(df2, "a"), get_array(df, "a"))
- else:
- assert not np.shares_memory(get_array(df2, "a"), get_array(df, "a"))
|