假设我有3只熊猫DF
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列。这一切都很好,但我想知道,是否有一个pandas函数将它们垂直堆叠到两列中并更改标题?
那要做这样的事情吗?
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的方法!
答案 0 :(得分:6)
只要您重命名列以使它们在每个数据框中都相同,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