一、merge函数用途
pandas中的merge()函数类似于SQL中join的用法,可以将不同数据集依照某些字段(属性)进行合并操作,得到一个新的数据集。
二、merge()函数的具体参数
用法:
DataFrame1.merge(DataFrame2,
how
=’inner’,
=None,
left_on
=None,
right_on
=None,
left_index
=False,
right_index
=False,
sort
=False,
suffixes
=(‘_x’, ‘_y’))
参数说明
how
默认为inner,可设为inner/outer/left/right
根据某个字段进行连接,必须存在于两个DateFrame中(若未同时存在,则需要分别使用left_on和right_on来设置)
left_on
左连接,以DataFrame1中用作连接键的列
right_on
右连接,以DataFrame2中用作连接键的列
left_index
将DataFrame1行索引用作连接键
right_index
将DataFrame2行索引用作连接键
sort
根据连接键对合并后的数据进行排列,默认为True
suffixes
对两个数据集中出现的重复列,新数据集中加上后缀_x,_y进行区别
三、merge用法举例
创建两个数据框
利用字典dict创建数据框
dataDf1=pd.DataFrame({‘lkey’:[‘foo’,’bar’,’baz’,’foo’],
‘value’:[1,2,3,4]})
dataDf2=pd.DataFrame({‘rkey’:[‘foo’,’bar’,’qux’,’bar’],
‘value’:[5,6,7,8]})
print(dataDf1)
print(dataDf2)
lkey value
0 foo 1
1 bar 2
2 baz 3
3 foo 4
rkey value
0 foo 5
1 bar 6
2 qux 7
3 bar 8
内连接(Inner)
inner链接
dataLfDf=dataDf1.merge(dataDf2, left_on=’lkey’,right_on=’rkey’)
lkey value_x rkey value_y
0 foo 1 foo 5
1 foo 4 foo 5
2 bar 2 bar 6
3 bar 2 bar 8
右链接(Right)
Right链接
dataDf1.merge(dataDf2, left_on=’lkey’, right_on=’rkey’,how=’right’)
lkey value_x rkey value_y
0 foo 1.0 foo 5
1 foo 4.0 foo 5
2 bar 2.0 bar 6
3 bar 2.0 bar 8
4 NaN NaN qux 7
全链接(Outer)
Outer链接
dataDf1.merge(dataDf2, left_on=’lkey’, right_on=’rkey’, how=’outer’)
lkey value_x rkey value_y
0 foo 1.0 foo 5.0
1 foo 4.0 foo 5.0
2 bar 2.0 bar 6.0
3 bar 2.0 bar 8.0
4 baz 3.0 NaN NaN
5 NaN NaN qux 7.0
Original: https://blog.csdn.net/weixin_32460203/article/details/113500329
Author: 野树长生
Title: python中 s 用法_pandas基本用法Python
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/679977/
转载文章受原作者版权保护。转载请注明原作者出处!