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添加后缀。
假设有两个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
假设有两个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