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写的一个定时重跑获取数据库数据
Dec 28 Python
Django与JS交互的示例代码
Aug 23 Python
对pandas中to_dict的用法详解
Jun 05 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
python 内置函数汇总详解
Sep 16 Python
Python实现语音识别和语音合成功能
Sep 20 Python
pytorch 常用线性函数详解
Jan 15 Python
Python matplotlib可视化实例解析
Jun 01 Python
Python中关于logging模块的学习笔记
Jun 03 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PR值查询 | PageRank 查询
2006/12/20 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
PHP中串行化用法示例
2016/11/16 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
Python字典及字典基本操作方法详解
2018/01/30 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
详解python with 上下文管理器
2020/09/02 Python
小结Python的反射机制
2020/09/28 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
应届毕业生自我鉴定范文
2013/12/27 职场文书
高中军训广播稿
2014/01/14 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
家电业务员岗位职责
2014/03/10 职场文书
英语读书笔记
2015/07/02 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
mysql中关键词exists的用法实例详解
2022/06/10 MySQL