pandas.merge_ordered # 熊猫。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' ) [来源] # 通过可选的填充/插值对有序数据执行合并。 专为时序数据等有序数据而设计。可以选择执行分组合并(参见示例)。 参数: 左DataFrame 或命名系列 正确的DataFrame 或命名系列 标签或清单上要加入的字段名称。必须在两个 DataFrame 中找到。 left_on标签或列表,或类似数组要加入左侧 DataFrame 中的字段名称。可以是 DataFrame 长度的向量或向量列表,以使用特定向量而不是列作为连接键。 right_on标签或列表,或类似数组要加入到右 DataFrame 或每个 left_on 文档的向量/向量列表中的字段名称。 left_by列名或列名列表按组列对左侧 DataFrame 进行分组,并与右侧 DataFrame 逐段合并。如果左或右是一个系列,则必须为 None。 right_by列名或列名列表按组列对右 DataFrame 进行分组,并与左 DataFrame 逐段合并。如果左或右是一个系列,则必须为 None。 fill_method {'ffill', None}, 默认 None数据插值方法。 后缀列表,默认为(“_x”,“_y”)长度为 2 的序列,其中每个元素都可以是一个字符串,指示分别添加到左侧和右侧重叠列名称的后缀 。传递None值而不是字符串,以指示左侧或 右侧的列名称应保持原样,不带后缀。至少其中一个值不得为 None。 如何{'left', 'right', 'outer', 'inner'}, 默认 'outer' 左:仅使用左框架中的键(SQL:左外连接) 右:仅使用右框架中的键(SQL:右外连接) 外部:使用两个帧中的键的并集(SQL:完全外部连接) 内部:使用两个帧中键的交集(SQL:内部连接)。 返回: 数据框如果合并的 DataFrame 输出类型是 DataFrame 的子类,则它与“left”相同。 也可以看看 merge与数据库样式的联接合并。 merge_asof合并最近的键。 例子 >>> from pandas import merge_ordered >>> df1 = pd.DataFrame( ... { ... "key": ["a", "c", "e", "a", "c", "e"], ... "lvalue": [1, 2, 3, 1, 2, 3], ... "group": ["a", "a", "a", "b", "b", "b"] ... } ... ) >>> df1 key lvalue group 0 a 1 a 1 c 2 a 2 e 3 a 3 a 1 b 4 c 2 b 5 e 3 b >>> df2 = pd.DataFrame({"key": ["b", "c", "d"], "rvalue": [1, 2, 3]}) >>> df2 key rvalue 0 b 1 1 c 2 2 d 3 >>> merge_ordered(df1, df2, fill_method="ffill", left_by="group") key lvalue group rvalue 0 a 1 a NaN 1 b 1 a 1.0 2 c 2 a 2.0 3 d 2 a 3.0 4 e 3 a 3.0 5 a 1 b NaN 6 b 1 b 1.0 7 c 2 b 2.0 8 d 2 b 3.0 9 e 3 b 3.0