File tree Expand file tree Collapse file tree 4 files changed +17
-7
lines changed Expand file tree Collapse file tree 4 files changed +17
-7
lines changed Original file line number Diff line number Diff line change @@ -56,6 +56,7 @@ pandas 0.9.1
56
56
- Alias Timestamp.astimezone to tz_convert, so will yield Timestamp (#2060)
57
57
- Fix timedelta64 formatting from Series (#2165, #2146)
58
58
- Handle None values gracefully in dict passed to Panel constructor (#2075)
59
+ - Box datetime64 values as Timestamp objects in Series/DataFrame.iget (#2148)
59
60
60
61
pandas 0.9.0
61
62
============
Original file line number Diff line number Diff line change @@ -734,14 +734,19 @@ def iget_value(self, i):
734
734
-------
735
735
value : scalar (int) or Series (slice, sequence)
736
736
"""
737
- if isinstance (i , slice ):
738
- return self [i ]
739
- else :
740
- label = self .index [i ]
741
- if isinstance (label , Index ):
742
- return self .reindex (label )
737
+ try :
738
+ return lib .get_value_at (self , i )
739
+ except IndexError :
740
+ raise
741
+ except :
742
+ if isinstance (i , slice ):
743
+ return self [i ]
743
744
else :
744
- return lib .get_value_at (self , i )
745
+ label = self .index [i ]
746
+ if isinstance (label , Index ):
747
+ return self .reindex (label )
748
+ else :
749
+ return lib .get_value_at (self , i )
745
750
746
751
iget = iget_value
747
752
irow = iget_value
Original file line number Diff line number Diff line change @@ -39,6 +39,8 @@ cdef inline is_definitely_invalid_key(object val):
39
39
or PyList_Check(val))
40
40
41
41
def get_value_at (ndarray arr , object loc ):
42
+ if arr.descr.type_num == NPY_DATETIME:
43
+ return Timestamp(util.get_value_at(arr, loc))
42
44
return util.get_value_at(arr, loc)
43
45
44
46
def set_value_at (ndarray arr , object loc , object val ):
Original file line number Diff line number Diff line change @@ -216,6 +216,8 @@ def test_series_box_timestamp(self):
216
216
s = Series (rng , index = rng )
217
217
self .assert_ (isinstance (s [5 ], Timestamp ))
218
218
219
+ self .assert_ (isinstance (s .iget_value (5 ), Timestamp ))
220
+
219
221
def test_timestamp_to_datetime (self ):
220
222
_skip_if_no_pytz ()
221
223
rng = date_range ('20090415' , '20090519' ,
You can’t perform that action at this time.
0 commit comments