python pandas.merge_ordered 用法及代码示例

1、语法
pandas.merge_ordered(left, right, on=None, left_on=None, right_on=None, 
                     left_by=None, right_by=None, fill_method=None, 
                     suffixes=('_x', '_y'), how='outer')

2、参数解释

(1)left: 用于连接的 左DataFrame
(2)right: 用于连接的 右DataFrame
(3)on: 连接关键字。必须 同时存在于 左DataFrame、右DataFrame

(4)left_on: 左DataFrame 中用于连接的关键字
(5)right_on: 右DataFrame 中用于连接的关键字

(6)left_by: 对 左DataFrame 进行分组的关键字
(7)right_by: 对 右DataFrame 进行分组的关键字

(8)fill_method: 对缺失数据填充的值
(9)suffixes: 连接后,同时存在于 左DataFrame、右DataFrame 中的字段,添加的后缀名
(10)how: 连接方式。默认为 外连接

注意: 1> 使用参数 on 时,不能同时使用 “left_on” 或 “right_on”

     2> left_on 与 right_on 必须同时存在

     3> 如果 on、left_on 、right_on 的参数值均为空时,默认以 同时存在于两个 DataFrame 中的列,为连接关键字
如果不存在共同列,将会报错:pandas.errors.MergeError: No common columns to perform merge on.

     3> left_by 与 right_by 不能同时存在

3、对执行过程的理解

构造数据源:df1、df2

df1 = pd.DataFrame(
    {
   
        "key": ["a", "c", "e", "a"
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas.merge_ordered()函数是pandas中将数据进行合并的函数,用于按照有序的方式将两个DataFrame对象进行合并,类似于SQL中的ORDER BY。merge_ordered()函数的基本语法为: ```python pd.merge_ordered(left, right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, fill_method=None, suffixes=('_x', '_y'), how='outer') ``` 参数说明: - left:左侧DataFrame对象; - right:右侧DataFrame对象; - on:连接所根据的列或者索引级别名称,必须在左侧和右侧DataFrame对象中存在; - left_on:左侧DataFrame对象中用作连接键的列; - right_on:右侧DataFrame对象中用作连接键的列; - left_index:如果为True,则使用左侧DataFrame对象中的索引作为连接键; - right_index:如果为True,则使用右侧DataFrame对象中的索引作为连接键; - fill_method:用于指定缺失值的填充方法; - suffixes:用于追加到重叠列名的字符串; - how:连接方式,取值为'left','right','outer','inner'。 使用示例: ```python import pandas as pd df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]}) df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]}) # 按照key列进行合并 result = pd.merge_ordered(df1, df2, on='key') print(result) # 按照key列进行左连接 result_left = pd.merge_ordered(df1, df2, on='key', how='left') print(result_left) # 按照key列进行右连接 result_right = pd.merge_ordered(df1, df2, on='key', how='right') print(result_right) # 按照key列进行外连接 result_outer = pd.merge_ordered(df1, df2, on='key', how='outer') print(result_outer) ``` 输出结果: ```python key value_x value_y 0 A 1.0 NaN 1 B 2.0 5.0 2 C 3.0 NaN 3 D 4.0 6.0 4 E NaN 7.0 5 F NaN 8.0 key value_x value_y 0 A 1.0 NaN 1 B 2.0 5.0 2 C 3.0 NaN 3 D 4.0 6.0 key value_x value_y 0 B 2.0 5 1 D 4.0 6 2 E NaN 7 3 F NaN 8 key value_x value_y 0 A 1.0 NaN 1 B 2.0 5.0 2 C 3.0 NaN 3 D 4.0 6.0 4 E NaN 7.0 5 F NaN 8.0 ``` 以上就是pandas.merge_ordered()函数的基本用法示例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值