对pandas的行列名更改与数据选择详解


Posted in Python onNovember 12, 2018

记录一些pandas选择数据的内容,此前首先说行列名的获取和更改,以方便获取数据。此文作为学习巩固。

这篇博的内容顺序大概就是: 行列名的获取 —> 行列名的更改 —> 数据选择

一、pandas的行列名获取和更改

1. 获取: df.index() df.columns()

首先,举个例子,做一个DataFrame如下:

>>>import pandas as pd
>>>import numpy as np
>>>data = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})
>>>data

对pandas的行列名更改与数据选择详解

设置了列索引为 abc,行索引是自动生成的,也可以设置

>>>data.index = ['A','B','C']
>>>data

对pandas的行列名更改与数据选择详解

以下的做法都以这个 data 作为数据举例

接下来就可以获取索引了,index-行索引,columns-列索引

>>>data.index

对pandas的行列名更改与数据选择详解

>>>data.columns

对pandas的行列名更改与数据选择详解

2. 修改,看到有很多方法,这里推荐一种比较灵活好用的方法

df.rename(index={ }, columns={ }, inplace=True)
>>>data.rename(index={'A':'D', 'B':'E', 'C':'F'}, columns={'a':'d', 'b':'e', 'c':'f'}, inplace = True)
>>>data

对pandas的行列名更改与数据选择详解

说明3点:

1. index和columns无关,可以分别指定,也就是说,可以只修改行索引,那么rename()中只写index

2. 索引可以任意挑选,如此处,index={'A':'D', 'C':'F'} 则只改A和C,columns同样

3. inplace=True, 在原dataframe上改动

二、pandas的数据选择

1. 直接用索引选(不灵活、不推荐) df[ ]

1) 选择‘a'列

>>>data['a']

对pandas的行列名更改与数据选择详解

注意:

1. 这样取出的数据类型为 Series

2. 这种方法只能取出一列,不能用数字下标,不能多选或片选, data['a','b'] , data['a':'c'] , data[0]

2)选择'A','B'行

>>>data['A':'B'] 
>>>data[0:2] # 两种方法同一结果

对pandas的行列名更改与数据选择详解

注意:

1. 这样取出的数据类型为 DateFrame

2. 这种方法只能用于片选行,可以用数字下标,不能单独取,即 data['A'] , data['A','B'] , data[1]

2.使用 .loc(推荐) df.loc(),()内参数先行后列,区别行列的取法

1) 取列:

>>>data.loc[:,['a','c']] #图1 需要行全取,再对应指定列

2)取行:

>>>data.loc[['A','B']] #图2 直接指定行

3)取行列交叉值:

>>>data.loc[['A'],['b','c']] #图3

对pandas的行列名更改与数据选择详解

注意:

1. 区别 df.iloc()

.loc() —— 使用标签 label 作为索引取值

.iloc() —— 使用整数下标 index 作为索引取值,如上面三句可以换成以下三句,输出数据类型有不同

>>>data.iloc[:,[0,2]] # DataFrame
>>>data.iloc[[0,1]] # DataFrame
>>>data.iloc[0,[1,2]] # Series

2. 对于 数字类型的变量,可以使用bool 选取行,列不能用bool,如

>>>data.loc[data.b>5] # DataFrame

对pandas的行列名更改与数据选择详解

>>>data.loc[data.b>5,['c']] #DataFrame 输出为9位置的frame
>>>data.iloc[data.b.values>5,[2]] #DataFrame 输出同上,需要有 .values取值

3. .ix[ ] 可以混用label和index,位置使用同 .loc[ ] .iloc[ ]

以上这篇对pandas的行列名更改与数据选择详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
利用python获取Ping结果示例代码
Jul 06 Python
python中的计时器timeit的使用方法
Oct 20 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Python3.5字符串常用操作实例详解
May 01 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
python 逐步回归算法
Apr 06 Python
python 三边测量定位的实现代码
Apr 22 Python
Python基础之变量的相关知识总结
Jun 23 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 #Python
浅谈numpy生成数组的零值问题
Nov 12 #Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 #Python
python 构造三维全零数组的方法
Nov 12 #Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 #Python
在python中pandas的series合并方法
Nov 12 #Python
浅谈python的dataframe与series的创建方法
Nov 12 #Python
You might like
php反弹shell实现代码
2009/04/22 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
Jquery中CSS选择器用法分析
2015/02/10 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
python二维图制作的实例代码
2020/12/03 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
品质口号大全
2014/06/17 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
舞出我人生观后感
2015/06/16 职场文书
员工旷工检讨书
2015/08/15 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
MySQL Server层四个日志的实现
2022/03/31 MySQL
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python