对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 相关文章推荐
理解python正则表达式
Jan 15 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
python实现的分层随机抽样案例
Feb 25 Python
python实现用户名密码校验
Mar 18 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 Python
python 读取.nii格式图像实例
Jul 01 Python
django form和field具体方法和属性说明
Jul 09 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
Aug 07 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 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 substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
js选择并转移导航菜单示例代码
2014/08/19 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Weex开发之地图篇的具体使用
2019/10/16 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
极简的Python入门指引
2015/04/01 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
Python Celery多队列配置代码实例
2019/11/22 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python chardet库识别编码原理解析
2020/02/18 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Python类class参数self原理解析
2020/11/19 Python
html5的localstorage详解
2017/05/09 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
什么是makefile? 如何编写makefile?
2013/01/02 面试题
个人收入证明范本
2014/01/12 职场文书
幼儿园亲子活动方案
2014/01/29 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
文艺节目主持词
2015/07/06 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫