酷播亮新聞
最棒的知識補給站

python小點dian兒:使用merge還是join

合併():要注意使用merge還是join

#merge是因為兩個合併的對象,有相同的列,merge以這些相同的列為索引進行合併。按照索引合併,就會出現兩個sorce,不可以join

#join實現按索引合併,而不管他們有么有相同的列.同時可以指定on =”keyname”,則把兩個df 按照索引鏈接,並將原索引為新的「keyname」列,重新設置0,1,2..的索引

#join此處不可以,ValueError: columns overlap but no suffix specified: Index([“sorce”], dtype=”object”)

#merge是因為兩個合併的對象,有相同的列,merge以這些相同的列為索引進行合併。

df_new= pd.merge(df,df_dummies3)

print(df_new)

print(df_new.columns)

—————-

data1 key sorce data1_a data1_b data1_c key_blue key_green key_red

0 a green 33 1.0 0.0 0.0 0.0 1.0 0.0

1 b red 61 0.0 1.0 0.0 0.0 0.0 1.0

2 c blue 99 0.0 0.0 1.0 1.0 0.0 0.0

Index([“data1”, “key”, “sorce”, “data1_a”, “data1_b”, “data1_c”, “key_blue”,

“key_green”, “key_red”],

dtype=”object”)

———————-

#merge此處不可以, 兩個沒有相同的列。pandas.tools.merge.MergeError: No common columns to perform merge on

#join實現按索引合併,而不管他們有么有相同的列.同時可以指定on =”keyname”,則把兩個df 按照索引鏈接,並將原索引為新的「keyname」列,重新設置0,1,2..的索引

df_new= df.join(df_dummies6)

print(df_new)

print(df_new.columns)

——————-

data1 key sorce sorce_不及格 sorce_及格 sorce_優秀

0 a green 33 1.0 0.0 0.0

1 b red 61 0.0 1.0 0.0

2 c blue 99 0.0 0.0 1.0

Index([“data1”, “key”, “sorce”, “sorce_不及格”, “sorce_及格”, “sorce_優秀”], dtype=”object”)

python小點dian兒:使用merge還是join

脫穎而出的人群和不同的概念,向上與粉紅色的氣球出從飛其他綠色的人在與反射和陰影的淺綠色背景上的一個人

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:
如有侵權請來信告知:酷播亮新聞 » python小點dian兒:使用merge還是join