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

yipeiwu_com5年前Python基础

如下所示:

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 按索引合并数据集的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas 缺失值与空值处理的实现方法

pandas 缺失值与空值处理的实现方法

1.相关函数 df.dropna() df.fillna() df.isnull() df.isna() 2.相关概念 空值:在pandas中的空值是"" 缺失值:在...

Python 读取用户指令和格式化打印实现解析

Python 读取用户指令和格式化打印实现解析

一、读取用户指令 当你的程序要接收用户输入的指令时,可以用input函数: name = input("请输入你的名字:") print("Hi " + name) 程序中只要...

python构造icmp echo请求和实现网络探测器功能代码分享

python发送icmp echo requesy请求复制代码 代码如下:import socketimport struct def checksum(source_string):&...

在Python中使用MySQL--PyMySQL的基本使用方法

PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中也可以使用PyMySQL连...

深入解析Python设计模式编程中建造者模式的使用

深入解析Python设计模式编程中建造者模式的使用

建造者模式:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。 基本思想 某类产品的构建由很多复杂组件组成; 这些组件中的某些细节不同,构建出的产品表象会略有不同...