Skip to content

Commit ad1b215

Browse files
committed
Merge pull request #5806 from MichaelWS/master
BUG: Series replace values using timestamps in a dict GH5797
2 parents 10927a3 + 0bd6c64 commit ad1b215

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

doc/source/release.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Improvements to existing features
7171

7272
Bug Fixes
7373
~~~~~~~~~
74-
74+
- Bug in Series replace with timestamp dict (:issue:`5797`)
7575

7676
pandas 0.13.0
7777
-------------
@@ -861,7 +861,7 @@ Bug Fixes
861861
- Bug in fillna with Series and a passed series/dict (:issue:`5703`)
862862
- Bug in groupby transform with a datetime-like grouper (:issue:`5712`)
863863
- Bug in multi-index selection in PY3 when using certain keys (:issue:`5725`)
864-
- Row-wise concat of differeing dtypes failing in certain cases (:issue:`5754`)
864+
- Row-wise concat of differing dtypes failing in certain cases (:issue:`5754`)
865865

866866
pandas 0.12.0
867867
-------------

pandas/core/internals.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2322,7 +2322,7 @@ def replace_list(self, src_lst, dest_lst, inplace=False, regex=False):
23222322
def comp(s):
23232323
if isnull(s):
23242324
return isnull(values)
2325-
return values == s
2325+
return values == getattr(s, 'asm8', s)
23262326
masks = [comp(s) for i, s in enumerate(src_lst)]
23272327

23282328
result_blocks = []

pandas/tests/test_series.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5189,6 +5189,16 @@ def test_replace(self):
51895189
expected = ser.ffill()
51905190
result = ser.replace(np.nan)
51915191
assert_series_equal(result, expected)
5192+
#GH 5797
5193+
ser = Series(date_range('20130101', periods=5))
5194+
expected = ser.copy()
5195+
expected.loc[2] = Timestamp('20120101')
5196+
result = ser.replace({Timestamp('20130103'):
5197+
Timestamp('20120101')})
5198+
assert_series_equal(result, expected)
5199+
result = ser.replace(Timestamp('20130103'), Timestamp('20120101'))
5200+
assert_series_equal(result, expected)
5201+
51925202

51935203
def test_replace_with_single_list(self):
51945204
ser = Series([0, 1, 2, 3, 4])

0 commit comments

Comments
 (0)