@@ -129,6 +129,31 @@ def test_rename_mi(self):
129
129
index = MultiIndex .from_tuples ([("A" ,x ) for x in ["a" ,"B" ,"c" ]]))
130
130
result = s .rename (str .lower )
131
131
132
+ def test_get_numeric_data_preserve_dtype (self ):
133
+
134
+ # get the numeric data
135
+ o = Series ([1 ,2 ,3 ])
136
+ result = o ._get_numeric_data ()
137
+ self ._compare (result , o )
138
+
139
+ o = Series ([1 ,'2' ,3. ])
140
+ result = o ._get_numeric_data ()
141
+ expected = Series ([],dtype = object )
142
+ self ._compare (result , expected )
143
+
144
+ o = Series ([True ,False ,True ])
145
+ result = o ._get_numeric_data ()
146
+ self ._compare (result , o )
147
+
148
+ o = Series ([True ,False ,True ])
149
+ result = o ._get_bool_data ()
150
+ self ._compare (result , o )
151
+
152
+ o = Series (date_range ('20130101' ,periods = 3 ))
153
+ result = o ._get_numeric_data ()
154
+ expected = Series ([],dtype = 'M8[ns]' )
155
+ self ._compare (result , expected )
156
+
132
157
class TestDataFrame (unittest .TestCase , Generic ):
133
158
_typ = DataFrame
134
159
_comparator = lambda self , x , y : assert_frame_equal (x ,y )
@@ -138,6 +163,14 @@ def test_rename_mi(self):
138
163
index = MultiIndex .from_tuples ([("A" ,x ) for x in ["a" ,"B" ,"c" ]]))
139
164
result = df .rename (str .lower )
140
165
166
+ def test_get_numeric_data_preserve_dtype (self ):
167
+
168
+ # get the numeric data
169
+ o = DataFrame ({'A' : [1 ,'2' ,3. ] })
170
+ result = o ._get_numeric_data ()
171
+ expected = DataFrame (index = [0 ,1 ,2 ],dtype = object )
172
+ self ._compare (result , expected )
173
+
141
174
class TestPanel (unittest .TestCase , Generic ):
142
175
_typ = Panel
143
176
_comparator = lambda self , x , y : assert_panel_equal (x ,y )
0 commit comments