Skip to content

Commit 974136e

Browse files
committed
BUG: reindex with axis=1 when setting Series to scalar location, close #1942
1 parent ca2a620 commit 974136e

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Dependencies
6363
============
6464

6565
* `NumPy <http://www.numpy.org>`__: 1.6.1 or higher
66-
* `python-dateutil <http://labix.org/python-dateutil>`__ 1.5
66+
* `python-dateutil <http://labix.org/python-dateutil>`__ 1.5 or higher
6767

6868
Optional dependencies
6969
~~~~~~~~~~~~~~~~~~~~~

pandas/core/indexing.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,12 @@ def _align_series(self, indexer, ser):
147147
return ser.reindex(new_ix).values
148148

149149
elif np.isscalar(indexer):
150-
if ser.index.equals(self.obj.index):
150+
ax = self.obj._get_axis(1)
151+
152+
if ser.index.equals(ax):
151153
return ser.values.copy()
152-
return ser.reindex(self.obj.index).values
154+
155+
return ser.reindex(ax).values
153156

154157
raise ValueError('Incompatible indexer with Series')
155158

pandas/tests/test_frame.py

+6
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ def test_getitem_setitem_ix_negative_integers(self):
191191
df = DataFrame(np.random.randn(8, 4))
192192
self.assert_(isnull(df.ix[:, [-1]].values).all())
193193

194+
# #1942
195+
a = DataFrame(randn(20,2), index=[chr(x+65) for x in range(20)])
196+
a.ix[-1] = a.ix[-2]
197+
198+
assert_series_equal(a.ix[-1], a.ix[-2])
199+
194200
def test_getattr(self):
195201
tm.assert_series_equal(self.frame.A, self.frame['A'])
196202
self.assertRaises(AttributeError, getattr, self.frame,

0 commit comments

Comments
 (0)