3
3
import numpy as np
4
4
import pytest
5
5
6
- from pandas ._config import using_string_dtype
7
-
8
6
from pandas .core .dtypes .base import _registry as ea_registry
9
7
from pandas .core .dtypes .common import is_object_dtype
10
8
from pandas .core .dtypes .dtypes import (
@@ -146,13 +144,16 @@ def test_setitem_different_dtype(self):
146
144
)
147
145
tm .assert_series_equal (result , expected )
148
146
149
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
150
147
def test_setitem_empty_columns (self ):
151
148
# GH 13522
152
149
df = DataFrame (index = ["A" , "B" , "C" ])
153
150
df ["X" ] = df .index
154
151
df ["X" ] = ["x" , "y" , "z" ]
155
- exp = DataFrame (data = {"X" : ["x" , "y" , "z" ]}, index = ["A" , "B" , "C" ])
152
+ exp = DataFrame (
153
+ data = {"X" : ["x" , "y" , "z" ]},
154
+ index = ["A" , "B" , "C" ],
155
+ columns = Index (["X" ], dtype = object ),
156
+ )
156
157
tm .assert_frame_equal (df , exp )
157
158
158
159
def test_setitem_dt64_index_empty_columns (self ):
@@ -162,14 +163,15 @@ def test_setitem_dt64_index_empty_columns(self):
162
163
df ["A" ] = rng
163
164
assert df ["A" ].dtype == np .dtype ("M8[ns]" )
164
165
165
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
166
166
def test_setitem_timestamp_empty_columns (self ):
167
167
# GH#19843
168
168
df = DataFrame (index = range (3 ))
169
169
df ["now" ] = Timestamp ("20130101" , tz = "UTC" )
170
170
171
171
expected = DataFrame (
172
- [[Timestamp ("20130101" , tz = "UTC" )]] * 3 , index = range (3 ), columns = ["now" ]
172
+ [[Timestamp ("20130101" , tz = "UTC" )]] * 3 ,
173
+ index = range (3 ),
174
+ columns = Index (["now" ], dtype = object ),
173
175
)
174
176
tm .assert_frame_equal (df , expected )
175
177
@@ -202,14 +204,13 @@ def test_setitem_with_unaligned_sparse_value(self):
202
204
expected = Series (SparseArray ([1 , 0 , 0 ]), name = "new_column" )
203
205
tm .assert_series_equal (df ["new_column" ], expected )
204
206
205
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
206
207
def test_setitem_period_preserves_dtype (self ):
207
208
# GH: 26861
208
209
data = [Period ("2003-12" , "D" )]
209
210
result = DataFrame ([])
210
211
result ["a" ] = data
211
212
212
- expected = DataFrame ({"a" : data })
213
+ expected = DataFrame ({"a" : data }, columns = Index ([ "a" ], dtype = object ) )
213
214
214
215
tm .assert_frame_equal (result , expected )
215
216
@@ -672,11 +673,10 @@ def test_setitem_iloc_two_dimensional_generator(self):
672
673
expected = DataFrame ({"a" : [1 , 2 , 3 ], "b" : [4 , 1 , 1 ]})
673
674
tm .assert_frame_equal (df , expected )
674
675
675
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
676
676
def test_setitem_dtypes_bytes_type_to_object (self ):
677
677
# GH 20734
678
678
index = Series (name = "id" , dtype = "S24" )
679
- df = DataFrame (index = index )
679
+ df = DataFrame (index = index , columns = Index ([], dtype = "str" ) )
680
680
df ["a" ] = Series (name = "a" , index = index , dtype = np .uint32 )
681
681
df ["b" ] = Series (name = "b" , index = index , dtype = "S64" )
682
682
df ["c" ] = Series (name = "c" , index = index , dtype = "S64" )
@@ -705,7 +705,6 @@ def test_setitem_ea_dtype_rhs_series(self):
705
705
expected = DataFrame ({"a" : [1 , 2 ]}, dtype = "Int64" )
706
706
tm .assert_frame_equal (df , expected )
707
707
708
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
709
708
def test_setitem_npmatrix_2d (self ):
710
709
# GH#42376
711
710
# for use-case df["x"] = sparse.random((10, 10)).mean(axis=1)
@@ -714,7 +713,7 @@ def test_setitem_npmatrix_2d(self):
714
713
)
715
714
716
715
a = np .ones ((10 , 1 ))
717
- df = DataFrame (index = np .arange (10 ))
716
+ df = DataFrame (index = np .arange (10 ), columns = Index ([], dtype = "str" ) )
718
717
df ["np-array" ] = a
719
718
720
719
# Instantiation of `np.matrix` gives PendingDeprecationWarning
@@ -927,12 +926,11 @@ def test_setitem_with_expansion_categorical_dtype(self):
927
926
ser .name = "E"
928
927
tm .assert_series_equal (result2 .sort_index (), ser .sort_index ())
929
928
930
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
931
929
def test_setitem_scalars_no_index (self ):
932
930
# GH#16823 / GH#17894
933
931
df = DataFrame ()
934
932
df ["foo" ] = 1
935
- expected = DataFrame (columns = ["foo" ]).astype (np .int64 )
933
+ expected = DataFrame (columns = Index ( ["foo" ], dtype = object ) ).astype (np .int64 )
936
934
tm .assert_frame_equal (df , expected )
937
935
938
936
def test_setitem_newcol_tuple_key (self , float_frame ):
0 commit comments