pandas.merge()是一个在pandas库中用于合并、连接和 join 数据集的函数。这个函数能够参考多个键来合并不同数据集的行。具体而言,merge()函数根据列之间的关系来合并 DataFrame 对象。
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)
下面分别说明每个参数的功能:
上面的参数有很多,如果不理解可以多次使用返回值浅阅读影响,有利于熟悉参数和现象之间关系。
下面分别用两个实例来讲解 merge() 函数的使用方法:
下面我们将使用以下两个 DataFrame 对象:
left right
key value key value
1 10 1 20
2 20 2 30
代码如下所示:
import pandas as pd
# 两个 DataFrame 对象
left = pd.DataFrame({
'key': [1, 2],
'value': [10, 20]
})
right = pd.DataFrame({
'key': [1, 2],
'value': [20, 30]
})
result = pd.merge(left, right, on='key')
print(result)
打印结果如下:
key value_x value_y
1 10 20
2 20 30
上述实例的做法是,以 'key' 列为连接键,在结果的 DataFrame 中通过列名 'value_x' 和 'value_y' 分别表示两个原始 DataFrame 对象中的列。
下面我们将使用以下两个 DataFrame 对象:
df1 df2
key1 key2 key1 key2
1 a 1 a
2 b 2 b
3 c 4 c
代码实例如下:
import pandas as pd
# 两个DataFrame对象
df1 = pd.DataFrame({
'key1': [1, 2, 3],
'key2': ['a', 'b', 'c'],
'value1': [10, 20, 30]
})
df2 = pd.DataFrame({
'key1': [1, 2, 4],
'key2': ['a', 'b', 'c'],
'value2': [40, 50, 60]
})
result = pd.merge(df1, df2, on=['key1', 'key2'])
print(result)
执行上述代码,得到如下输出:
key1 key2 value1 value2
1 a 10 40
2 b 20 50
上述实例的做法是,使用 'key1' 和 'key2' 两列作为连接键,在结果的 DataFrame 中成对的列也被用来表示它们来自的各个原始 DataFrame 对象。(当然,这里只是对于连接键的合并,还有很多合并的方式需要读者慢慢去总结理解,毕竟细节点万事通。。。)
本文简单讲解了 pandas.merge() 函数的语法、参数和合并方式,同时给出了两个实例来更好的理解当中的细节。
本文链接:http://task.lmcjl.com/news/17637.html