@@ -105,13 +105,32 @@ def test_factorize_equivalence(self, data_for_grouping, na_sentinel):
105
105
tm .assert_numpy_array_equal (l1 , l2 )
106
106
self .assert_extension_array_equal (u1 , u2 )
107
107
108
- def test_fillna_copy (self , data_for_fillna ):
109
- df = pd .DataFrame ({"A" : data_for_fillna })
108
+ def test_fillna_copy_frame (self , data ):
109
+ arr = data .take ([1 , 1 ])
110
+ df = pd .DataFrame ({"A" : arr })
110
111
filled_val = df .iloc [0 , 0 ]
111
112
112
113
result = df .fillna (filled_val )
113
114
assert df .values .base is not result .values .base
114
115
116
+ if isinstance (arr , pd .SparseArray ):
117
+ assert df .A ._values .to_dense () is arr .to_dense ()
118
+ else :
119
+ assert df .A ._values is arr
120
+
121
+ def test_fillna_copy_series (self , data ):
122
+ arr = data .take ([1 , 1 ])
123
+ ser = pd .Series (arr )
124
+ filled_val = ser [0 ]
125
+
126
+ result = ser .fillna (filled_val )
127
+ assert ser ._values is not result ._values
128
+
129
+ if isinstance (arr , pd .SparseArray ):
130
+ assert ser ._values .to_dense () is arr .to_dense ()
131
+ else :
132
+ assert ser ._values is arr
133
+
115
134
def test_combine_le (self , data_repeated ):
116
135
# GH 20825
117
136
# Test that combine works when doing a <= (le) comparison
0 commit comments