3
3
import numpy as np
4
4
import pytest
5
5
6
- from pandas ._config import using_string_dtype
7
-
8
6
import pandas .util ._test_decorators as td
9
7
10
8
from pandas .core .dtypes .base import _registry as ea_registry
@@ -148,13 +146,16 @@ def test_setitem_different_dtype(self):
148
146
)
149
147
tm .assert_series_equal (result , expected )
150
148
151
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
152
149
def test_setitem_empty_columns (self ):
153
150
# GH 13522
154
151
df = DataFrame (index = ["A" , "B" , "C" ])
155
152
df ["X" ] = df .index
156
153
df ["X" ] = ["x" , "y" , "z" ]
157
- exp = DataFrame (data = {"X" : ["x" , "y" , "z" ]}, index = ["A" , "B" , "C" ])
154
+ exp = DataFrame (
155
+ data = {"X" : ["x" , "y" , "z" ]},
156
+ index = ["A" , "B" , "C" ],
157
+ columns = Index (["X" ], dtype = object ),
158
+ )
158
159
tm .assert_frame_equal (df , exp )
159
160
160
161
def test_setitem_dt64_index_empty_columns (self ):
@@ -164,14 +165,15 @@ def test_setitem_dt64_index_empty_columns(self):
164
165
df ["A" ] = rng
165
166
assert df ["A" ].dtype == np .dtype ("M8[ns]" )
166
167
167
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
168
168
def test_setitem_timestamp_empty_columns (self ):
169
169
# GH#19843
170
170
df = DataFrame (index = range (3 ))
171
171
df ["now" ] = Timestamp ("20130101" , tz = "UTC" ).as_unit ("ns" )
172
172
173
173
expected = DataFrame (
174
- [[Timestamp ("20130101" , tz = "UTC" )]] * 3 , index = [0 , 1 , 2 ], columns = ["now" ]
174
+ [[Timestamp ("20130101" , tz = "UTC" )]] * 3 ,
175
+ index = range (3 ),
176
+ columns = Index (["now" ], dtype = object ),
175
177
)
176
178
tm .assert_frame_equal (df , expected )
177
179
@@ -204,14 +206,13 @@ def test_setitem_with_unaligned_sparse_value(self):
204
206
expected = Series (SparseArray ([1 , 0 , 0 ]), name = "new_column" )
205
207
tm .assert_series_equal (df ["new_column" ], expected )
206
208
207
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
208
209
def test_setitem_period_preserves_dtype (self ):
209
210
# GH: 26861
210
211
data = [Period ("2003-12" , "D" )]
211
212
result = DataFrame ([])
212
213
result ["a" ] = data
213
214
214
- expected = DataFrame ({"a" : data })
215
+ expected = DataFrame ({"a" : data }, columns = Index ([ "a" ], dtype = object ) )
215
216
216
217
tm .assert_frame_equal (result , expected )
217
218
@@ -677,11 +678,10 @@ def test_setitem_iloc_two_dimensional_generator(self):
677
678
expected = DataFrame ({"a" : [1 , 2 , 3 ], "b" : [4 , 1 , 1 ]})
678
679
tm .assert_frame_equal (df , expected )
679
680
680
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
681
681
def test_setitem_dtypes_bytes_type_to_object (self ):
682
682
# GH 20734
683
683
index = Series (name = "id" , dtype = "S24" )
684
- df = DataFrame (index = index )
684
+ df = DataFrame (index = index , columns = Index ([], dtype = "str" ) )
685
685
df ["a" ] = Series (name = "a" , index = index , dtype = np .uint32 )
686
686
df ["b" ] = Series (name = "b" , index = index , dtype = "S64" )
687
687
df ["c" ] = Series (name = "c" , index = index , dtype = "S64" )
@@ -712,7 +712,6 @@ def test_setitem_ea_dtype_rhs_series(self):
712
712
713
713
# TODO(ArrayManager) set column with 2d column array, see #44788
714
714
@td .skip_array_manager_not_yet_implemented
715
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
716
715
def test_setitem_npmatrix_2d (self ):
717
716
# GH#42376
718
717
# for use-case df["x"] = sparse.random((10, 10)).mean(axis=1)
@@ -721,7 +720,7 @@ def test_setitem_npmatrix_2d(self):
721
720
)
722
721
723
722
a = np .ones ((10 , 1 ))
724
- df = DataFrame (index = np .arange (10 ))
723
+ df = DataFrame (index = np .arange (10 ), columns = Index ([], dtype = "str" ) )
725
724
df ["np-array" ] = a
726
725
727
726
# Instantiation of `np.matrix` gives PendingDeprecationWarning
@@ -936,12 +935,11 @@ def test_setitem_with_expansion_categorical_dtype(self):
936
935
ser .name = "E"
937
936
tm .assert_series_equal (result2 .sort_index (), ser .sort_index ())
938
937
939
- @pytest .mark .xfail (using_string_dtype (), reason = "TODO(infer_string)" )
940
938
def test_setitem_scalars_no_index (self ):
941
939
# GH#16823 / GH#17894
942
940
df = DataFrame ()
943
941
df ["foo" ] = 1
944
- expected = DataFrame (columns = ["foo" ]).astype (np .int64 )
942
+ expected = DataFrame (columns = Index ( ["foo" ], dtype = object ) ).astype (np .int64 )
945
943
tm .assert_frame_equal (df , expected )
946
944
947
945
def test_setitem_newcol_tuple_key (self , float_frame ):
0 commit comments