Skip to content

Commit bf538a9

Browse files
committed
BUG: icol duplicate columns with integer sequence failure. close pandas-dev#2228
1 parent 4f982ac commit bf538a9

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

pandas/core/frame.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1726,7 +1726,11 @@ def icol(self, i):
17261726
else:
17271727
label = self.columns[i]
17281728
if isinstance(label, Index):
1729-
return self.reindex(columns=label)
1729+
if self.columns.inferred_type == 'integer':
1730+
# XXX re: #2228
1731+
return self.reindex(columns=label)
1732+
else:
1733+
return self.ix[:, i]
17301734

17311735
values = self._data.iget(i)
17321736
return Series.from_array(values, index=self.index, name=label)

pandas/tests/test_frame.py

+4
Original file line numberDiff line numberDiff line change
@@ -1323,6 +1323,10 @@ def test_irow_icol_duplicates(self):
13231323
xp = df.T.ix[0]
13241324
assert_series_equal(rs, xp)
13251325

1326+
rs = df.icol([0])
1327+
xp = df.ix[:, [0]]
1328+
assert_frame_equal(rs, xp)
1329+
13261330
def test_iget_value(self):
13271331
for i, row in enumerate(self.frame.index):
13281332
for j, col in enumerate(self.frame.columns):

0 commit comments

Comments
 (0)