2014-10-01 18 views
1

可以說我有3熊貓DF如何棧數據幀上的另一個(熊貓,Python3)一個頂部

DF1

Words  Score 
The Man  2 
The Girl 4 

DF2

Words2  Score2 
The Boy  6 
The Mother 7 

DF3

Words3  Score3 
The Son  3 
The Daughter 4 

現在,我把它們連接在一起,所以它在一個DF中變成6列。這一切都很好,但我想知道,是否有一個熊貓函數將它們垂直堆疊成兩列並更改標題?

因此,要做出這樣的事情?

Family Members  Score 
The Man    2 
The Girl   4 
The Boy    6 
The Mother   7 
The Son    3 
The Daughter  4 

一切我讀這裏http://pandas.pydata.org/pandas-docs/stable/merging.html似乎只有加入DF的「水平」的方法!

回答

2

只要你讓他們在每個數據幀相同的命名列,pd.concat()應該很好地工作:

# I read in your data as df1, df2 and df3 using: 
# df1 = pd.read_clipboard(sep='\s\s+') 
# Example dataframe: 

Out[8]: 
     Words Score 
0 The Man  2 
1 The Girl  4 


all_dfs = [df1, df2, df3] 

# Give all df's common column names 
for df in all_dfs: 
    df.columns = ['Family_Members', 'Score'] 

pd.concat(all_dfs).reset_index(drop=True) 

Out[16]: 
    Family_Members Score 
0  The Man  2 
1  The Girl  4 
2  The Boy  6 
3  The Mother  7 
4  The Son  3 
5 The Daughter  4 
相關問題