Create DataFrame from multiple Series
Asked Answered
Z

2

34

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?

Zipporah answered 9/10, 2016 at 7:55 Comment(0)
W
62

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
Walloper answered 9/10, 2016 at 7:57 Comment(1)
don't forget you can order the columns in the DataFrame constructor with the columns argument pandas.pydata.org/pandas-docs/stable/generated/…Roast
P
0

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

Photofinishing answered 25/3, 2023 at 6:14 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.