C=pd.merge(A,B),merge之後C的行數並不會變。但是A的index丟失了,因為merge之後index是重排的。
解決辦法:
方法1:
#可以先把A的index儲存一下,A、B中含有"col"列
A_index =A.index
C=pd.merge(A,B,on="col",how="left")
C.index = A_index
方法2:
# A、B中含有"col"列,set_index 設定
C = A.merge(B, on="col",how="left").set_index(A.index)
方法3:
# 缺點:會失去groupby,1、2級索引的效果
A.reset_index(drop=False, inplace=True)
C = pd.merage(A,B,on="col",how="left")