Python Pandas数据合并(pd.merge)
Python Pandas数据合并(pd.merge)是Pandas中的一种数据合并方式,它可以将两个不同的DataFrame对象中的行进行合并,实现数据表的拼接。除此之外,它还支持自定义的拼接键,以及拼接类型,如inner、outer、left、right等。
使用方法
pd.merge函数的使用方法如下:
pd.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)
- left:第一个DataFrame对象
- right:第二个DataFrame对象
- how:拼接类型,默认为inner,可以是inner、outer、left、right等
- on:用于连接的列名,两个DataFrame对象中必须存在相同的列名
- left_on:左侧DataFrame对象用于连接的列名
- right_on:右侧DataFrame对象用于连接的列名
- left_index:是否使用左侧DataFrame对象的索引,默认为False
- right_index:是否使用右侧DataFrame对象的索引,默认为False
- sort:是否根据连接键对合并后的数据进行排序,默认为True
- suffixes:字符串元组,用于指定当具有相同列名时,给列名添加的后缀,默认为('_x', '_y')
- copy:是否复制DataFrame对象,默认为True
- indicator:是否在结果中添加_merge字段,该字段指示数据来自于左侧还是右侧DataFrame对象,默认为False
示例代码
下面是一个使用pd.merge函数进行数据合并的示例代码:
import pandas as pd # 创建DataFrame对象 df1 = pd.DataFrame({'city': ['New York', 'Chicago', 'Los Angeles'], 'rank': [1, 2, 3]}) df2 = pd.DataFrame({'city': ['New York', 'Chicago', 'San Francisco'], 'population': [8.4, 2.7, 0.8]}) # 使用pd.merge函数进行数据合并 df = pd.merge(df1, df2, on='city', how='left') # 打印结果 print(df)
执行上面代码,可以得到如下结果:
city rank population 0 New York 1 8.4 1 Chicago 2 2.7 2 Los Angeles 3 NaN