2014-10-01 4 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 

Прямо сейчас, я объединил их вместе что он становится 6 столбцами в одном DF. Это все хорошо и хорошо, но мне было интересно, есть функция pandas, чтобы поместить их по вертикали в TWO столбцы и изменить заголовки?

Итак, чтобы сделать что-то вроде этого?

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

Пока вы переименовать столбцы так, что они одинаковы в каждом dataframe, 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 
Смежные вопросы