对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通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
Python实现DDos攻击实例详解
Feb 02 Python
Python2和Python3的共存和切换使用
Apr 12 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
通过代码实例了解Python异常本质
Sep 16 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 Python
python基础之while循环语句的使用
Apr 20 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版本号
2006/10/09 PHP
PHP生成HTML静态页面实例代码
2008/08/31 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php检查页面是否被百度收录
2015/10/28 PHP
功能强大的php分页函数
2016/07/20 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
Python中文编码那些事
2014/06/25 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python实现获取Ip归属地等信息
2016/08/27 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
Python操作MySQL数据库的方法
2018/06/20 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Python range与enumerate函数区别解析
2020/02/28 Python
python3访问字典里的值实例方法
2020/11/18 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
硕士研究生个人求职信
2013/12/04 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
读书活动实施方案
2014/03/10 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
消防安全培训工作总结
2015/10/23 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers