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中遇到的小问题及解决方法汇总
Jan 11 Python
pandas object格式转float64格式的方法
Apr 10 Python
Python异常处理操作实例详解
May 10 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
python实现弹窗祝福效果
Apr 07 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 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
Discuz! Passport 通行证整合
2008/03/27 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
详解Python 函数如何重载?
2019/04/23 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python中Mako库实例用法
2020/12/31 Python
python Scrapy框架原理解析
2021/01/04 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
最好的商品表达自己:Cafepress
2019/09/04 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
急诊科护士自我鉴定
2013/10/14 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
外国人聘用意向书
2014/04/01 职场文书
实验心得体会
2014/09/05 职场文书
离婚律师函范本
2015/05/27 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers