pandas的merge方法详解

merge参数

merge(
    left,
    right,
    how="inner",
    on=None,
    left_on=None,
    right_on=None,
    left_index=False,
    right_index=False,
    sort=False,
    suffixes=("_x", "_y"),
    copy=True,
    indicator=False,
    validate=None,
)
参数说明
left左表
right右表
how连接方式,inner、left、right、outer,默认为inner
on用于连接的列名称
left_on左表用于连接的列名
right_on右表用于连接的列名
left_index是否使用左表的行索引作为连接键,默认False
right_index是否使用右表的行索引作为连接键,默认False
sort默认为False,将合并的数据进行排序
copy默认为True,总是将数据复制到数据结构中,设置为False可以提高性能
suffixes存在相同列名时在列名后面添加的后缀,默认为(’_x’, ‘_y’)
indicator显示合并数据中数据来自哪个表

left_on与right_on主要用于连接的2个表列名不同的时候

DataFrame有一个实例方法join,相当于merge方法的参数left_index=True和right_index=True

inner、left、right、outer

连接方式

concat

concat可以把多个DataFrame拼接为一个DataFrame

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 20, (5, 2)), columns=['A', 'B'])
print(df)

data = [df[0:2], df[3:]]
print(pd.concat(data))

append

append用于追加行,也concat是pd的静态函数不同,append是DataFrame的方法。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 20, (3, 2)), columns=['A', 'B'])
print(df)

narry = np.random.randint(0, 20, (2, 2))
data = pd.DataFrame(narry, columns=['A', 'B'])
print(df.append(data, ignore_index=True))

  • 19
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值