一次合并两个数据帧,每一行一次Python |大熊猫

时间:2018-08-14 06:53:58

标签: python pandas append

我有两个这样的数据框:

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

请帮忙吗?

2 个答案:

答案 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=Trueappend + sort_index + reset_indexdf = 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