简体   繁体   中英

Python Pandas Series combine the rows

My pd.series looks like this:

df.head()
0      status parentName  name      describe parent...
1      status parentName  name      describe parent...
2      status parentName  name      describe parent...
3      status parentName  name      describe parent...
4      status parentName  name      describe parent...
Name: destinationurl, dtype: object

and each row is a dataframe, which looks like this:

    status  parentName  name    describe    parentDescribe  parentEnName    parentID    id  enName
       0    0   IT  电子邮箱    提供电子邮箱服务的站点。        Information Technology  25  144 Email

Now I want to use apply function to combine all the rows, and then turn it to dataframe. just like 'rbind' function do in R.

How can I do this with Python Pandas?

You can use pd.concat and call tolist on your Series :

In [144]:
s = pd.Series([pd.DataFrame(data=np.random.randn(5,3), columns=list('abc')), pd.DataFrame(data=np.random.randn(5,3), columns=list('abc')), pd.DataFrame(data=np.random.randn(5,3), columns=list('abc'))])
s

Out[144]:
0              a         b         c
0  0.295349 -1...
1              a         b         c
0 -0.380644  0...
2              a         b         c
0  0.329135  1...
dtype: object

In [149]:
pd.concat(s.tolist(), ignore_index=True)

Out[149]:
           a         b         c
0   0.295349 -1.128448 -0.674335
1   0.413450  0.211495  0.695035
2  -1.983857 -0.795089 -1.807442
3  -0.366494 -1.784717  1.257727
4  -0.651171  1.430601 -0.729049
5  -0.380644  0.986193  0.146934
6  -0.551766 -0.048919  0.315231
7  -0.649579  0.252312 -2.307680
8  -0.715894 -0.134816  0.103490
9  -0.582027 -0.487878  0.836762
10  0.329135  1.266439 -0.071934
11 -0.022002  0.664152 -0.159218
12 -1.411058  0.046058  1.467763
13  0.116095 -2.731663 -0.448027
14 -0.320958  0.587676 -0.654869

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM