欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Pandas 按索引合并数据集的方法

程序员文章站 2023-11-15 23:29:58
如下所示: import numpy as np import pandas as pd from pandas import series,datafram...

如下所示:

import numpy as np
import pandas as pd
from pandas import series,dataframe

一、merge函数

left1 = dataframe({'水果':['苹果','梨','草莓'],
     '价格':[3,4,5],
     '数量':[9,8,7]}).set_index('水果')
right1 = dataframe({'水果':['苹果','草莓'],
     '产地':['美国','中国']})
print(left1)
print(right1)
 价格 数量
水果  
苹果 3 9
梨 4 8
草莓 5 7
 产地 水果
0 美国 苹果
1 中国 草莓
print(pd.merge(left1,right1,right_on='水果',left_index=true,how='outer'))
 价格 数量 产地 水果
0 3 9 美国 苹果
1 4 8 nan 梨
1 5 7 中国 草莓

二、dataframe的join函数

left2 = left1
right2 = right1.set_index('水果')

1.join函数默认将两个dataframe的index进行合并

print(left2.join(right2))
 价格 数量 产地
水果    
苹果 3 9 美国
梨 4 8 nan
草莓 5 7 中国

2.若其中一个dataframe合并的键不在索引上,可使用on参数

print(right1.join(left1,on='水果',how='outer'))
 产地 水果 价格 数量
0 美国 苹果 3 9
1 中国 草莓 5 7
1 nan 梨 4 8

3.多个dataframe按索引合并

another = dataframe({'水果':['苹果','香蕉','梨'],
     '品质':['aa','aaaa','a']}).set_index('水果')
print(left2.join([right2,another],how='outer'))
  价格 数量 产地 品质
梨 4.0 8.0 nan  a
苹果 3.0 9.0 美国 aa
草莓 5.0 7.0 中国 nan
香蕉 nan nan nan aaaa

以上这篇pandas 按索引合并数据集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。