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


Posted in Python onNovember 15, 2018

如下所示:

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 相关文章推荐
python定时器使用示例分享
Feb 16 Python
Python计算回文数的方法
Mar 11 Python
python 简单的绘图工具turtle使用详解
Jun 21 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
python之消除前缀重命名的方法
Oct 21 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
python 下划线的不同用法
Oct 24 Python
Python截图并保存的具体实例
Jan 14 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
Python一行代码实现自动发邮件功能
May 30 Python
pandas 将索引值相加的方法
Nov 15 #Python
python同时遍历数组的索引和值的实例
Nov 15 #Python
python保存二维数组到txt文件中的方法
Nov 15 #Python
使用Python的toolz库开始函数式编程的方法
Nov 15 #Python
Python中is和==的区别详解
Nov 15 #Python
Python中垃圾回收和del语句详解
Nov 15 #Python
Matplotlib中文乱码的3种解决方案
Nov 15 #Python
You might like
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
PHP asXML()函数讲解
2019/02/03 PHP
javascript按位非运算符的使用方法
2013/11/14 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
利用python循环创建多个文件的方法
2018/10/25 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
基于Python绘制个人足迹地图
2020/06/01 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
Python 如何对文件目录操作
2020/07/10 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
应聘美工求职信
2013/11/07 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
团队队名口号大全
2014/06/06 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
同学聚会通知书
2015/04/20 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
社区结对共建协议书
2016/03/23 职场文书
赞美教师的句子
2019/09/02 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
在python中读取和写入CSV文件详情
2022/06/28 Python