详解Python3 pandas.merge用法
在数据分析和清洗中,数据合并是极其常见的步骤,而Pandas的merge函数则是最为强大、方便的工具之一。merge函数可以轻松合并两个或多个数据框,并支持非常灵活的合并选项。本文将详细介绍Pandas的merge函数的用法并附带两个基本的示例。
merge函数概述
merge函数用于将两个或多个数据框连接在一起,其主要参数如下:
pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
- left/right: 要合并的DataFrame。
- on: 所有连接上的列名。如果没有指定,则会自动使用两个DataFrame的共同列。如果这种列不存在,则会抛出异常。
- left_on/right_on: 两个DataFrame连接的指定列名(不需要共同列)。
- left_index/right_index: 如果为True,则使用索引而不是列名作为连接轴。如果索引命名,索引名称可以作为字符串传递。
- how: 连接方式。默认是'inner'连接,还可以应用'left', 'right', 'outer'连接。inner连接表示取交集,left连接表示取左侧全部,right连接表示取右侧全部,outer连接表示并集。
- sort: 如果为True,在连接操作之前,对结果DataFrame进行排序。
- suffixes: DataFrame中同名列标签的后缀,suffixes默认为'_x', '_y'。
- indicator: 在新建一列框中添加特殊符号字符串以指示连接方式。
merge示例
现在我们来看看两个merge函数的基本示例。
示例1:基于共同列连接两个DataFrame
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A0', 'A1', 'A6', 'A7'], 'E': ['E0', 'E1', 'E6', 'E7'], 'F': ['F0', 'F1', 'F6', 'F7']})
merged_df = pd.merge(df1,df2,on='A')
print (merged_df)
输出:
A B C D E F
0 A0 B0 C0 D0 E0 F0
1 A1 B1 C1 D1 E1 F1
示例2:基于不同列名连接两个DataFrame
import pandas as pd
left_df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']})
right_df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']})
merged_df = pd.merge(left_df, right_df, on='key')
print (merged_df)
输出:
key A B C D
0 K0 A0 B0 C0 D0
1 K1 A1 B1 C1 D1
2 K2 A2 B2 C2 D2
3 K3 A3 B3 C3 D3
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python3 pandas.merge用法 - Python技术站