python根据index合并_Pandas 按索引合并数据集的方法

如下所示:

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 按索引合并数据集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Pandas 按索引合并数据集的方法

本文地址: http://www.cppcns.com/jiaoben/python/244810.html

你可能感兴趣的:(python根据index合并)