2016-01-20 153 views
0

我pd.series看起來是這樣的:Python的熊貓系列結合了行

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 

現在我想用應用功能合併所有行,然後將其轉爲數據幀。就像R中的'rbind'函數一樣。

我該如何用Python Pandas做到這一點?

+0

做這項工作:'pd.concat(df.tolist())'? – EdChum

+0

是的,它的工作!你這麼快,這真的幫了我很多! – jjdblast

回答

0

您可以使用pd.concat並在您Series致電tolist

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 
+0

是的,它的工作!我剛剛進入了一個錯誤的方式來執行此操作,並且您的代碼非常乾淨清晰,非常感謝您! – jjdblast

+0

不用擔心,請記住接受我的回答,所以這個問題並沒有得到解答,我的答案左上角會出現一個空的刻度標記,請注意,在一個Series中存儲dfs是很奇怪和有問題的。你最好只是在列表或字典中存儲,因爲你並沒有真正使用該系列,而只是一個有效陣列 – EdChum

+0

好的,我會關閉這個問題並嘗試修復我的代碼〜這是一個很好的體驗向你學習! – jjdblast