极速系列03—python进行数据合并(concat/merge)

两个表中的数据,要根据关键字段,进行合并。
在Excel中可以使用vlookup的方式,在python中可以使用concat或者是merge的方法。

1、pd.concat

pd.concat 函数

  1. 拼接的对象可以是series,还可以是dataframe
  2. 拼接对象的个数不受限
  3. axis 控制拼接方向(既支持上下拼接,也支持左右拼接)
    左右拼接 axis=1,左右拼接的依据是行索引;
    上下拼接 axis =0 ,拼接依据是列名,默认是上下拼接
  4. join 指定拼接方法
    join=”inner” 内联,表示保留两个表共有的行索引
    join=”outer” 外联,表示保留两个表所有的行索引,默认外联

import pandas as pd

dict1={"产品编号":["CP13","CP14","CP15","CP16","CP17"],"产品名称":["产品A003","产品A004","产品A005","产品A006","产品A007"]}
df1 = pd.DataFrame(dict1)
df1

极速系列03—python进行数据合并(concat/merge)

dict2={"订单编号":["20220913","20220914","20220915","20220915"],
       "产品编号":["CP13","CP14","CP15","CP16"],
       "产品销量":[13,24,45,32],
       "负责人":["张三","赵六","李八","李八"]}
df2 = pd.DataFrame(dict2)
df2

极速系列03—python进行数据合并(concat/merge)
pd.concat([df1,df2])

极速系列03—python进行数据合并(concat/merge)
pd.concat([df1,df2],ignore_index=True)

极速系列03—python进行数据合并(concat/merge)

pd.concat([df1,df2],axis=1)

极速系列03—python进行数据合并(concat/merge)

pd.concat([df1,df2],axis=1,join="inner")

极速系列03—python进行数据合并(concat/merge)

2、 df.append

和concat上下拼接的结果类似

df1.append(df2)

极速系列03—python进行数据合并(concat/merge)

3、 pd.merge()

  • 拼接对象是dataframe或者series,左表必须是datafram
  • 拼接的数量只能是两个
  • 拼接方向只能左右拼

pd.merge(df1,df2,left_on="产品编号",right_on="产品编号",how = 'right')

pd.merge(df1,df2,on="产品编号")

极速系列03—python进行数据合并(concat/merge)

4、 df.join

和concat左右拼接的结果类似

df1.join(df2, lsuffix='_b', rsuffix='_a')

极速系列03—python进行数据合并(concat/merge)

总结

极速系列03—python进行数据合并(concat/merge)

Original: https://blog.csdn.net/one_bird_/article/details/126805418
Author: 潇洒白羊
Title: 极速系列03—python进行数据合并(concat/merge)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/674977/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球