对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 相关文章推荐
举例讲解Django中数据模型访问外键值的方法
Jul 21 Python
python3学生名片管理v2.0版
Nov 29 Python
python进行文件对比的方法
Dec 24 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
django中账号密码验证登陆功能的实现方法
Jul 15 Python
Form表单及django的form表单的补充
Jul 25 Python
python cumsum函数的具体使用
Jul 29 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
python super用法及原理详解
Jan 20 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
python装饰器代码深入讲解
Mar 01 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
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
htm调用JS代码
2007/03/15 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
常用的javascript设计模式
2017/01/11 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
如何利用node转发请求详解
2020/09/17 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
python新手经常遇到的17个错误分析
2014/07/30 Python
跟老齐学Python之折腾一下目录
2014/10/24 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
python3 map函数和filter函数详解
2019/08/26 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
银行员工辞职信范文
2014/01/20 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
2014年科协工作总结
2014/12/09 职场文书
民事上诉状范文
2015/05/22 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python