0

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?

jjdblast
  • 495
  • 1
  • 7
  • 24

1 Answers1

0

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
EdChum
  • 339,461
  • 188
  • 752
  • 538
  • Yes, It's work ! I just came into a wrong way to do this, and your code really clean and clear, thank you a lot! – jjdblast Jan 20 '16 at 11:08
  • No worries, please remember to accept my answer so this question doesn't remain unanswered, there will be an empty tick mark at the top left of my answer, note that storing dfs in a Series is odd and problematic. You'd be better off just storing in a list or a dict as you're not really using the Series as nothing but an array effectively – EdChum Jan 20 '16 at 11:10
  • Okay, I'll close this question and try to fix my code~It's a nice experience to learn from you! – jjdblast Jan 20 '16 at 11:16