簡體   English   中英

如何通過索引和列連接/合並/合並具有空數據框的填充數據框?

[英]How to join/merge/concat an filled dataframe with an empty dataframe by index and columns?

例:

   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

問題在於它不適合索引列。

不知道這是否是最有效的方法,但是它可以工作:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM