Create DataFrame from multiple Series

Question:

I have 2 Series, given by:

import pandas as pd
r = pd.Series([i*3 for i in range(0, 10)], name='rrr')
s = pd.Series([i*5 for i in range(0, 10)], name='sss')

How to I create a DataFrame from them?

Asked By: KcFnMi

||

Answers:

You can use pd.concat:

pd.concat([r, s], axis=1)
Out: 
   rrr  sss
0    0    0
1    3    5
2    6   10
3    9   15
4   12   20
5   15   25
6   18   30
7   21   35
8   24   40
9   27   45

Or the DataFrame constructor:

pd.DataFrame({'r': r, 's': s})

Out: 
    r   s
0   0   0
1   3   5
2   6  10
3   9  15
4  12  20
5  15  25
6  18  30
7  21  35
8  24  40
9  27  45
Answered By: ayhan

Another way is to the good old DataFrame constructor.

df = pd.DataFrame([r, s]).T

# or
df = pd.DataFrame({x.name: x for x in [r, s]})

res

Answered By: cottontail