如何通过索引和列将空数据框加入/合并/合并填充的数据名望?

时间:2019-04-03 15:50:18

标签: python pandas dataframe

示例:

   df1 = pd.DataFrame({'a':[0,0,0,0,0,0],
                'b':[0,0,0,0,0,0], 'b':[0,0,0,0,0,0]}, index=list('abcdef'))

print (df1)


       a  b  c
    a  0  0  0
    b  0  0  0
    c  0  0  0
    d  0  0  0
    e  0  0  0
    f  0  0  0

df2 = pd.DataFrame({'a':range(4),
                'b':[5,6,7,8]}, index=list('abce'))

print (df2)

   a  b
a  0  5
b  1  6
c  2  7
e  3  8

如何将填充的数据框合并为一个看起来像这样的空数据框?

   a  b c
a  0  5 0
b  1  6 0
c  2  7 0
d  0  0 0
e  3  8 0
f  0  0 0

问题在于它不适合索引列。

1 个答案:

答案 0 :(得分:0)

不确定这是否是最有效的方法,但是它可以工作:

df3 = pd.merge(df1, df2, how='left', left_index=True, right_index=True, suffixes=('_x', ''))
df3['a'].fillna(df3['a_x'], inplace=True)
df3['b'].fillna(df3['b_x'], inplace=True)
df3.drop(['a_x', 'b_x'], axis=1, inplace=True)