pandas读书笔记、重新索引
#reindex函数的参数
reindex(index,method,fill_value,limit,level,copy)
#index:用作索引的新序列
#method:插值(填充)方式
#fill_value:在重新索引的过程中,需要引入缺失值时使用的代替值
#limit:前向或后向填充时的最大填充量
#level:在MultiIndex的指定级别上匹配简单索引,否则选取其子集
#copy:默认为True,无论如何都复制,如果为False,则新旧相等就不复制
obj=Series([4.5,7.2,-5.3,3.6],index=['d','b','a','c'])
obj #调用该Series的reindex将会根据新索引进行重排
#如果某个索引值当前不存在,就引入缺失值
obj2=obj.reindex(['a','b','c','d','e'])
obj2 #填充缺失值
obj.reindex(['a','b','c','d','e'],fill_value=0)
重新索引时,可能需要做一些插值处理。method选项可以达到此目的。
obj3=Series(['blue','purple','yellow'],index=[0,2,4])
obj3
obj3.reindex(range(6),method='ffill')
重新索引行
frame=DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],
columns=['Ohio','Texas','California'])
frame frame2=frame.reindex(['a','b','c','d'])
frame2
states=['Texas','Utah','California']
frame.reindex(columns=states)
同时对行和列进行重新索引
frame.reindex(index=['a','b','c','d'],columns=states).ffill()
利用ix的标签索引功能,重新索引任务可以变得更简洁:
frame.ix[['a','b','c','d'],states]
问题记录:
在同时对行和列进行索引时,书中代码是:
frame.reindex(index=['a','b','c','d'],method='ffill',columns=states)
但是会出现错误:
ValueError: index must be monotonic increasing or decreasing
#不加ffill填充
frame.reindex(index=['a','b','c','d'],columns=states)
结果为
查找资料后自己初步理解为:为了重新索引方法,你的索引必须是有序/单调/递增的顺序,因为列也是重新索引的,而不是单调增加或减少。
书中的代码适合以前版本的pandas。
资料链接:https://stackoverflow.com/questions/44868877/valueerror-index-must-be-monotonic-increasing-or-decreasing-including-index-co/46893526#46893526
解决:
frame.reindex(index=['a','b','c','d'],columns=states).ffill()
上面写法可以达到与书中同样的结果。
pandas读书笔记、重新索引的更多相关文章
- pandas读书笔记 算数运算和数据对齐
pandas最重要的一个功能是,它可以对不同索引的对象进行算数运算.在对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集. Series s1=Series([,3.4,1.5],ind ...
- 《Microsoft SQL Server 2008 Internals》读书笔记--目录索引
http://blog.csdn.net/downmoon/article/details/5256548 https://sqlserverinternals.com/companion/
- 【MySQL 读书笔记】普通索引和唯一索引应该怎么选择
通常我们在做这个选择的时候,考虑得最多的应该是如果我们需要让 Database MySQL 来帮助我们从数据库层面过滤掉对应字段的重复数据我们会选择唯一索引,如果没有前者的需求,一般都会使用普通索引. ...
- 【MySQL 读书笔记】当我们在使用索引的时候我们在做什么
我记得之前博客我也写过关于索引使用的文章,但是并不全面,这次尽量针对重点铺全面一点. 因为索引是数据引擎层的结构我们只针对最常见使用的 Innodb 使用的 B+Tree 搜索树结构进行介绍. 每一个 ...
- Mysql实战45讲 04讲深入浅出索引(上)读书笔记 极客时间
极客时间 Mysql实战45讲 04讲深入浅出索引 极客时间(上)读书笔记 笔记体悟 1.索引的作用:提高数据查询效率2.常见索引模型:哈希表.有序数组.搜索树3.哈希表:键 - 值(key - v ...
- [读书笔记] Python数据分析 (五) pandas入门
pandas: 基于Numpy构建的数据分析库 pandas数据结构:Series, DataFrame Series: 带有数据标签的类一维数组对象(也可看成字典) values, index 缺失 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
随机推荐
- Python之向函数传递元组和字典
也可以在函数定义时加上这两个参数用以接收多余的参数哦~
- jsp struts2导入excel并且存储到数据库中
开发中遇到一个问题: 需要从外部导入excel,拿到其中的数据然后保存到数据库中. 1.先在jsp端使用input进行上传: <form action="storeOBDexcel&q ...
- css 两边是线,中间文字的多种实现方法
<div class="soild_text_one"> <fieldset> <legend>历史活动一</legend> < ...
- ionic2(3) 密码键盘组件 ionic2-pincode-input 使用
1.效果展示: 2.安装: npm install ionic2-pincode-input --save 3.app.module.ts配置 app.module.ts import { NgMod ...
- wdcp后台登陆访问失败处理方法
用putty或xsheel链接 进入之后输入命令 service wdcp restart 之后显示ok就成功了
- 2019-8-31-gif-格式
title author date CreateTime categories gif 格式 lindexi 2019-08-31 16:55:59 +0800 2018-2-13 17:23:3 + ...
- TCP协议中的三次握手和四次挥手(图解)(转)
转自:http://blog.csdn.net/whuslei/article/details/6667471 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看 ...
- vue组件绑定原生事件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- spring在注解标注的方法上加切面
之前以为只能在方法签名上加切面,今天发现注解上也能加切面 1.自定义一个注解(任意注解都可以,不一定是自定义的) @Target({ElementType.METHOD}) @Retention(Re ...
- php封装支付
<?php namespace Pay; use think\Config; vendor ('Pay.alipay.pagepay.service.AlipayTradeService'); ...