Python Pandas系列结合了行

时间:2016-01-20 10:59:12

标签: python pandas dataframe apply series

我的pd.series看起来像这样:

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

并且每一行都是一个数据帧,如下所示:

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

现在我想使用apply函数来组合所有行,然后将其转换为dataframe。就像' rbind'功能在R。

我如何使用Python Pandas做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用pd.concat并致电tolist上的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