@@ -8099,6 +8099,69 @@ def test_as_matrix_lcd(self):
8099
8099
values = self .mixed_int .as_matrix (['C' ])
8100
8100
self .assert_ (values .dtype == np .uint8 )
8101
8101
8102
+ def test_constructor_with_convert (self ):
8103
+ # this is actually mostly a test of lib.maybe_convert_objects
8104
+ # #2845
8105
+ df = DataFrame ({'A' : [2 ** 63 - 1 ] })
8106
+ result = df ['A' ]
8107
+ expected = Series (np .asarray ([2 ** 63 - 1 ], np .int64 ))
8108
+ assert_series_equal (result , expected )
8109
+
8110
+ df = DataFrame ({'A' : [2 ** 63 ] })
8111
+ result = df ['A' ]
8112
+ expected = Series (np .asarray ([2 ** 63 ], np .object_ ))
8113
+ assert_series_equal (result , expected )
8114
+
8115
+ df = DataFrame ({'A' : [datetime (2005 , 1 , 1 ), True ] })
8116
+ result = df ['A' ]
8117
+ expected = Series (np .asarray ([datetime (2005 , 1 , 1 ), True ], np .object_ ))
8118
+ assert_series_equal (result , expected )
8119
+
8120
+ df = DataFrame ({'A' : [None , 1 ] })
8121
+ result = df ['A' ]
8122
+ expected = Series (np .asarray ([np .nan , 1 ], np .float_ ))
8123
+ assert_series_equal (result , expected )
8124
+
8125
+ df = DataFrame ({'A' : [1.0 , 2 ] })
8126
+ result = df ['A' ]
8127
+ expected = Series (np .asarray ([1.0 , 2 ], np .float_ ))
8128
+ assert_series_equal (result , expected )
8129
+
8130
+ df = DataFrame ({'A' : [1.0 + 2.0j , 3 ] })
8131
+ result = df ['A' ]
8132
+ expected = Series (np .asarray ([1.0 + 2.0j , 3 ], np .complex_ ))
8133
+ assert_series_equal (result , expected )
8134
+
8135
+ df = DataFrame ({'A' : [1.0 + 2.0j , 3.0 ] })
8136
+ result = df ['A' ]
8137
+ expected = Series (np .asarray ([1.0 + 2.0j , 3.0 ], np .complex_ ))
8138
+ assert_series_equal (result , expected )
8139
+
8140
+ df = DataFrame ({'A' : [1.0 + 2.0j , True ] })
8141
+ result = df ['A' ]
8142
+ expected = Series (np .asarray ([1.0 + 2.0j , True ], np .object_ ))
8143
+ assert_series_equal (result , expected )
8144
+
8145
+ df = DataFrame ({'A' : [1.0 , None ] })
8146
+ result = df ['A' ]
8147
+ expected = Series (np .asarray ([1.0 , np .nan ], np .float_ ))
8148
+ assert_series_equal (result , expected )
8149
+
8150
+ df = DataFrame ({'A' : [1.0 + 2.0j , None ] })
8151
+ result = df ['A' ]
8152
+ expected = Series (np .asarray ([1.0 + 2.0j , np .nan ], np .complex_ ))
8153
+ assert_series_equal (result , expected )
8154
+
8155
+ df = DataFrame ({'A' : [2.0 , 1 , True , None ] })
8156
+ result = df ['A' ]
8157
+ expected = Series (np .asarray ([2.0 , 1 , True , None ], np .object_ ))
8158
+ assert_series_equal (result , expected )
8159
+
8160
+ df = DataFrame ({'A' : [2.0 , 1 , datetime (2006 , 1 , 1 ), None ] })
8161
+ result = df ['A' ]
8162
+ expected = Series (np .asarray ([2.0 , 1 , datetime (2006 , 1 , 1 ),
8163
+ None ], np .object_ ))
8164
+ assert_series_equal (result , expected )
8102
8165
8103
8166
def test_constructor_with_datetimes (self ):
8104
8167
intname = np .dtype (np .int_ ).name
0 commit comments