Pandas 按索引合并数据集的方法
如下所示:
importnumpyasnp importpandasaspd frompandasimportSeries,DataFrame
一、merge函数
left1=DataFrame({'水果':['苹果','梨','草莓'], '价格':[3,4,5], '数量':[9,8,7]}).set_index('水果') right1=DataFrame({'水果':['苹果','草莓'], '产地':['美国','中国']}) print(left1) print(right1)
价格数量 水果 苹果39 梨48 草莓57 产地水果 0美国苹果 1中国草莓
print(pd.merge(left1,right1,right_on='水果',left_index=True,how='outer'))
价格数量产地水果 039美国苹果 148NaN梨 157中国草莓
二、DataFrame的join函数
left2=left1 right2=right1.set_index('水果')
1.join函数默认将两个DataFrame的index进行合并
print(left2.join(right2))
价格数量产地 水果 苹果39美国 梨48NaN 草莓57中国
2.若其中一个DataFrame合并的键不在索引上,可使用on参数
print(right1.join(left1,on='水果',how='outer'))
产地水果价格数量 0美国苹果39 1中国草莓57 1NaN梨48
3.多个DataFrame按索引合并
another=DataFrame({'水果':['苹果','香蕉','梨'], '品质':['AA','AAAA','A']}).set_index('水果')
print(left2.join([right2,another],how='outer'))
价格数量产地品质 梨4.08.0NaNA 苹果3.09.0美国AA 草莓5.07.0中国NaN 香蕉NaNNaNNaNAAAA
以上这篇Pandas按索引合并数据集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。