Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Data Science by (17.6k points)

I have two Series s1 and s2 with the same (non-consecutive) indices. How do I combine s1 and s2 to being two columns in a DataFrame and keep one of the indices as a third column?

2 Answers

0 votes
by (41.4k points)

You can simply use concat and it will give you the desired result:

In [1]: s1 = pd.Series([1, 2], index=['A', 'B'], name='s1')

In [2]: s2 = pd.Series([3, 4], index=['A', 'B'], name='s2')

In [3]: pd.concat([s1, s2], axis=1)

Out[3]:

   s1  s2

A   1 3

B   2 4

In [4]: pd.concat([s1, s2], axis=1).reset_index()

Out[4]:

  index  s1 s2

0     A 1   3

1     B 2   4

0 votes
by (106k points)

Pandas will automatically align these passed in series and create the joint index They happen to be the same here. reset_index moves the index to a column.

s1 = Series(randn(5),index=[1,2,4,5,6]) 

s2 = Series(randn(5),index=[1,2,4,5,6]) 

DataFrame(dict(s1 = s1, s2 = s2)).reset_index()

Related questions

0 votes
1 answer
0 votes
1 answer

Browse Categories

...