【数据科学】05 数据合并(merge、concat、combine)与数据清洗(缺失值、重复值、内容和格式)


1. 数据合并

实际应用中,需要分析的数据可能来自不同的数据集,因此在开始数据分析之前,需要先将不同的数据集合并。
pandas中提供了三种不同的数据合并方式:

  1. Pandas.merge():数据库方式的数据连接,可根据一个或多个键,将不同DataFrame对象的行连接起来;
  2. Pandas.concat():轴向数据连接,沿着一条轴,将多个DataFrame对象堆叠到一起;
  3. Pandas.combine():用一个DataFrame对象中的数据填充另一个DataFrame对象中的缺失数据。

1.1 merge()合并

pd.merge(left,right,[参数列表])

参数 说明
left 参与合并的左侧DataFrame对象,必填
right 参与合并的右侧DataFrame对象,必填
how 连接方式,“inner”、“outer”、“left”、“right”其中之一,默认为“inner”
on 用于连接的列名(或列名列表);未指定改参数时,为左右数据集的公共列
left_on 左侧DataFrame对象中用于连接的键
right_on 右侧DataFrame对象中用于连接的键
left_index 布尔型,是否将左侧DataFrame对象的行索引用作连接键
right_index 布尔型,是否将右侧DataFrame对象的行索引用作连接键
sort 是否根据连接键对合并后的数据排序,默认为True
suffixes 字符串值元组,用于追加到重叠列名的末尾,默认为‘_x’和‘_y’

inner:内连接,连接两个DataFrame对象键值的交集的行
outer:外连接,连接两个DataFrame对象键值的并集的行
left:左链接,取出左侧DataFrame对象的全部行,连接右侧DataFrame对象键值匹配的行
right:右链接,取出右侧DataFrame对象的全部行,连接左侧DataFrame对象键值匹配的行

1.2 concat()合并

pd.concat(objs,axis,[参数列表])

参数 说明
objs 需要连接的对象,如[df1, df2]
axis 连接的轴,默认为0;axis=0,按行堆叠;axis=1,按列堆叠
join 默认为“outer”,outer为并集/inner为交集
ignore_index ignore_index 忽略需要连接的frame本身的index,当原本的index没有特别意义的时候可以使用
join_axes Index对象列表,用于其他n-1轴的特定索引,而不是执行内部/外部设置逻辑
keys 可以给每个需要连接的df一个label
levels 序列列表,默认值无;用于构建MultiIndex的特定级别(唯一值)
names list,default无,结果层次索引中的级别的名称
verify_integrity boolean,default False;检查新连接的轴是否包含重复项
copy boolean,default True

1.3 combine()合并

  • df1.combine_first(df2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值