Skip to content

Commit 828f9f9

Browse files
committed
Merge pull request #3058 from dieterv77/FixGH2972
BUG: Handle concat of series with same name, GH2972
2 parents 2d69034 + 57660e8 commit 828f9f9

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

pandas/tools/merge.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -947,9 +947,10 @@ def get_result(self):
947947
name = com._consensus_name_attr(self.objs)
948948
return Series(new_data, index=self.new_axes[0], name=name)
949949
elif self._is_series:
950-
data = dict(zip(self.new_axes[1], self.objs))
951-
return DataFrame(data, index=self.new_axes[0],
952-
columns=self.new_axes[1])
950+
data = dict(itertools.izip(xrange(len(self.objs)), self.objs))
951+
tmpdf = DataFrame(data, index=self.new_axes[0])
952+
tmpdf.columns = self.new_axes[1]
953+
return tmpdf
953954
else:
954955
new_data = self._get_concatenated_data()
955956
return self.objs[0]._from_axes(new_data, self.new_axes)

pandas/tools/tests/test_merge.py

+10
Original file line numberDiff line numberDiff line change
@@ -1671,6 +1671,16 @@ def test_concat_bug_1719(self):
16711671

16721672
self.assertEqual(len(left), len(right))
16731673

1674+
def test_concat_bug_2972(self):
1675+
ts0 = Series(np.zeros(5))
1676+
ts1 = Series(np.ones(5))
1677+
ts0.name = ts1.name = 'same name'
1678+
result = concat([ts0, ts1], axis=1)
1679+
1680+
expected = DataFrame({0: ts0, 1: ts1})
1681+
expected.columns=['same name', 'same name']
1682+
assert_frame_equal(result, expected)
1683+
16741684

16751685
class TestOrderedMerge(unittest.TestCase):
16761686

0 commit comments

Comments
 (0)