关键词

详解pandas.DataFrame.merge()(合并数据框)函数使用方法

pandas.DataFrame.merge()函数用于将两个DataFrame按照指定的一些键进行合并。可以实现类似于SQL中的join操作,将两个表按照某些键进行关联,并将它们合并为一个新的表。

语法格式为:

pd.merge(left,right,how,on,left_on,right_on,left_index,suffixes)

参数说明:

  • left:要合并的左侧DataFrame。

  • right:要合并的右侧DataFrame。

  • how:合并方式,可以是'inner', 'outer', 'left', 'right'中的一个。默认为'inner'。

  • on:用于合并的列名,如果是多个列名,需要用列表方式传入,例如['col1', 'col2']。

  • left_on:左侧DataFrame用于合并的列名。

  • right_on:右侧DataFrame用于合并的列名。

  • left_index:如果为True,在左侧DataFrame中使用索引作为合并键。

  • right_index:如果为True,在右侧DataFrame中使用索引作为合并键。

  • suffixes:如果列名冲突,可以为每个DataFrame添加后缀。

示例1

假设有两个DataFrame,分别是df1和df2,它们都有一个列名为'key'的列。我们想要将它们按照'key'列进行内连接。

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]})

merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)

输出结果如下:

  key  value_x  value_y
0   B        2        5
1   D        4        6

示例2

假设有两个DataFrame,分别是df1和df2,它们都有一个列名为'name'的列。我们想要按照'name'列进行左外连接,并且在列名冲突时给左侧DataFrame的列添加后缀"_left",给右侧DataFrame的列添加后缀"_right"。

import pandas as pd

df1 = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                    'age': [25, 30, 35, 40]})
df2 = pd.DataFrame({'name': ['Bob', 'David', 'Eva', 'Frank'],
                    'gender': ['M', 'M', 'F', 'M']})

merged_df = pd.merge(df1, df2, on='name', how='left', suffixes=('_left', '_right'))
print(merged_df)

输出结果如下:

      name  age gender
0    Alice   25    NaN
1      Bob   30      M
2  Charlie   35    NaN
3    David   40      M

以上是pandas.DataFrame.merge()函数的使用方法及示例,可以根据需要调整参数来实现不同的合并需求。

本文链接:http://task.lmcjl.com/news/17685.html

展开阅读全文