Skip to content

Commit

Permalink
Merge pull request pandas-dev#10389 from behzadnouri/nat-reset-index
Browse files Browse the repository at this point in the history
BUG: closes bug in reset_index when index contains NaT
  • Loading branch information
jreback committed Jun 20, 2015
2 parents d8a2f30 + c6d7a9a commit 0b74c72
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions doc/source/whatsnew/v0.17.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,4 @@ Bug Fixes
~~~~~~~~~
- Bug in ``DataFrame.apply`` when function returns categorical series. (:issue:`9573`)
- Bug in ``pd.Series`` when setting a value on an empty ``Series`` whose index has a frequency. (:issue:`10193`)
- Bug in ``DataFrame.reset_index`` when index contains `NaT`. (:issue:`10388`)
2 changes: 1 addition & 1 deletion pandas/core/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -1194,7 +1194,7 @@ def _maybe_upcast_putmask(result, mask, other):
if result.dtype in _DATELIKE_DTYPES:
if lib.isscalar(other):
if isnull(other):
other = tslib.iNaT
other = result.dtype.type('nat')
elif is_integer(other):
other = np.array(other, dtype=result.dtype)
elif is_integer_dtype(other):
Expand Down
12 changes: 12 additions & 0 deletions pandas/tests/test_frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -9494,6 +9494,18 @@ def test_reindex_nan(self):
df.index = df.index.astype('object')
tm.assert_frame_equal(df.reindex(i), df.iloc[j])

# GH10388
df = pd.DataFrame({'other':['a', 'b', np.nan, 'c'],
'date':['2015-03-22', np.nan, '2012-01-08', np.nan],
'amount':[2, 3, 4, 5]})

df['date'] = pd.to_datetime(df.date)
df['delta'] = (pd.to_datetime('2015-06-18') - df['date']).shift(1)

left = df.set_index(['delta', 'other', 'date']).reset_index()
right = df.reindex(columns=['delta', 'other', 'date', 'amount'])
assert_frame_equal(left, right)

def test_reindex_name_remains(self):
s = Series(random.rand(10))
df = DataFrame(s, index=np.arange(len(s)))
Expand Down

0 comments on commit 0b74c72

Please sign in to comment.