python横向合并merge_【Python代替Excel】7:merge、concat、append
準備工作:下載示例數據,提取碼:tkqn 數據例子數據預覽
在數據合并中,有merge和concat是比較常用的。
merge:左連、右連、內連
新建兩個dataframe數據集:
import pandas as pd
df1 = pd.DataFrame({'key1':['b','b','a','a','b','a','c'],'key2':['i','j','k','k','i','j','k'],'data1':range(7)})
df2 = pd.DataFrame({'key1':['a','b','d'],'key2':['k','j','i'],'data2':range(3)})以索引進行合并
merge1 = pd.merge(df1,df2,how='left',left_index=True,right_index=True) #index 左連
merge2 = pd.merge(df1,df2,how='right',left_index=True,right_index=True) #index 右連
merge3 = pd.merge(df1,df2,how='inner',left_index=True,right_index=True) #index 內連
因為兩個df都有key1、key2列,所以連接之后,以x、y后綴去區分。當然也可以自定義后綴:
merge4 = pd.merge(df1,df2,how='inner',left_index=True,right_index=True,suffixes=('左','右')) #index 自定義后綴以某一列為連接鍵進行合并
比如以key1列進行合并
merge5 = pd.merge(df1,df2,left_on='key1',right_on='key1',how='left') #key1 左連以某兩列為連接鍵進行合并
實際中挺常見的,比如先按日期,再按部門。
merge6 = pd.merge(df1,df2,on=['key1','key2'],how='inner') #key1 key2 內連
concat:橫向合并、縱向合并縱向合并:
concat1 = pd.concat([df1,df2],axis=0) #縱向合并,保留原來的index
concat2 = pd.concat([df1,df2],axis=0,ignore_index=True) #縱向合并,重新賦值inde橫向合并,相當于merge(index=True)
concat3 = pd.concat([df1,df2],axis=1) #橫向合并,以index為連接鍵
concat可以多個df進行連接,[df1,df2,df3...]
append
append和concat縱向合并類似:df1.append(df2, ignore_index=True)
專欄列表
總結
以上是生活随笔為你收集整理的python横向合并merge_【Python代替Excel】7:merge、concat、append的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中表示单一数据的类型被称为_
- 下一篇: controller层没反应_热拉提一年