我有两个这样的数据框:
dataframe1
col1 col2
s8771 1
s9562 1
s3352 1
dataframe2
col1 col2
s834 0
s5216 0
s8104 0
s174 0
我想合并两个数据帧,我知道pd.append
,但是我想要的是一次从每个数据帧中排一行。作为输出:
result
col1 col2
s8771 1
s834 0
s9562 1
s5216 0
s3352 1
s8104 0
s174 0
请帮忙吗?
答案 0 :(得分:1)
您可以尝试:
result = pd.concat([dataframe1, dataframe2]).sort_index(kind='merge')
示例:
df = pd.DataFrame( {'a':[1,2,3,4,5], 'b':[0,0,0,0,0]})
df1 = pd.DataFrame( {'a':[6,7,8,9], 'b':[1,1,1,1]})
df2 = pd.concat([df, df1]).sort_index(kind='merge')
输出:
a b
0 1 0
0 6 1
1 2 0
1 7 1
2 3 0
2 8 1
3 4 0
3 9 1
4 5 0
答案 1 :(得分:0)
使用drop=True
和append
+ sort_index
+ reset_index
和df = dataframe1.append(dataframe2).sort_index().reset_index(drop=True)
print (df)
col1 col2
0 s8771 1
1 s834 0
2 s9562 1
3 s5216 0
4 s3352 1
5 s8104 0
6 s174 0
作为默认索引:
LEFT JOIN