pandas抽取行列数据的几种方法


Posted in Python onDecember 13, 2020

取行和列的几种常用方式:

data[ 列名 ]: 取单列或多列,不能用连续方式取,也不能用于取行。
data.列名: 只用于取单列,不能用于行。
data[ i:j ]: 用起始行下标(i)和终止行下标(j)取单行或者连续多行,不能用于列的选取。
data.loc[行名,列名]: 用对象的.loc[]方法实现各种取数据方式。
data.iloc[行下标,列下标]: 用对象的.iloc[]方法实现各种取数据方式。

首先生成一个DataFrame对象:

import pandas as pd
score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]]
name = ['小新','小红','小李']
course = ['语文','数学','英语','政治']
mydata = pd.DataFrame(data=score,columns=name,index=course)#指定行列名
print(mydata)

小新  小红  小李
语文  34  67  87
数学  68  98  58
英语  75  73  86
政治  94  59  81

1. 直接用列名抽取单列或多列 ? data[列名]

print(mydata['小红']) # 输出是一个Series对象,而不是DataFrame对象
语文 67
数学 98
英语 73
政治 59 

print(mydata[['小红']]) # 加了[],此时输出的是DataFrame对象
 小红
语文 67
数学 98
英语 73
政治 59

print(mydata[['小红','小李']]) #选择两列,此时必须用[]将两列括起来
 小红 小李
语文 67 87
数学 98 58
英语 73 86
政治 59 81

2. 用行所在矩阵索引抽取一个行或者连续多行数据

print(mydata[0:1]) #通过0:1选择了第0行
 小新 小红 小李
语文 34 67 87

mydata[0:3] #通过0:3选择了第0,1,2三行
 小新 小红 小李
语文 34 67 87
数学 68 98 58
英语 75 73 86

3. 用数据的“·”方式获取某一列数据

print(mydata.小红) #通过.小红选择了小红列,注意输出的是Series对象
语文 67
数学 98
英语 73
政治 59

4. panadas 中利用DataFrame对象的.loc[,]、.iloc[,]方法抽取数据

引例:

import pandas as pd
score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]]
name = ['小新','小红','小李']
course = ['语文','数学','英语','政治']
mydata1 = pd.DataFrame(data=score,columns=name,index=course) # 指定行名(index)和列名(columns)
print(mydata1)
mydata2 = pd.DataFrame(score) # 不指定行列名,默认使用0,1,2……
print(mydata2)

    小明  小红  小李
语文  34  67  87
数学  68  98  58
英语  75  73  86
政治  94  59  81
    0   1   2
0  34  67  87
1  68  98  58
2  75  73  86
3  94  59  81

DataFrame对象的.loc[]和.iloc[]方法都可用于抽取数据,区别是:

  • .loc[]: 以列名和行名作为参数。
  • .iloc[]: 以二维矩阵的位置指标(即0,1,2……)作为参数。

.loc[]语法:

有两个输入参数,第一个指定行名,第二个指定列名。当只有一个参数时,默认是行名(即抽取整行),所有列都选中。

.iloc[]语法:

有两个输入参数,第一个指定行位置,第二个指定列位置。当只有一个参数时,默认是行位置(即抽取整行),所有列都选中。

总结:

当需要选中所有行的某几列时,行参数可以省略,列参数需要指定,此时列参数前面必须带上“,:”,形如.loc[:,列参数],.iloc[:,列参数]。

两种方法当只指定一个输入参数时,都默是跟“行”相关,而“列”则全部被选中。如何行和列都需要指定时,中间用“逗号,”隔开,这非常重要,否则出错。

两个方法都接受两个参数,第一个是“行标签”或者“矩阵行号”,第二个是“列标签”或者“矩阵列号”。

学习链接:

到此这篇关于pandas抽取行列数据的几种方法的文章就介绍到这了,更多相关pandas抽取行列数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现的tab文件操作类分享
Nov 20 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python实现简单的文件传输与MySQL备份的脚本分享
Jan 03 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
python3实现绘制二维点图
Dec 04 Python
Python3合并两个有序数组代码实例
Aug 11 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Python用SSH连接到网络设备
Feb 18 Python
python3.9实现pyinstaller打包python文件成exe
Dec 13 #Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 #Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 #Python
Pandas DataFrame求差集的示例代码
Dec 13 #Python
pandas实现导出数据的四种方式
Dec 13 #Python
python绘图pyecharts+pandas的使用详解
Dec 13 #Python
Pandas对每个分组应用apply函数的实现
Dec 13 #Python
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
Php Cookie的一个使用注意点
2008/11/08 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
PHP 布尔值的自增与自减的实现方法
2018/05/03 PHP
Prototype Number对象 学习
2009/07/19 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
javascript判断office版本示例
2014/04/11 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
python中执行shell的两种方法总结
2017/01/10 Python
python3处理含有中文的url方法
2018/05/10 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
通过实例解析Python return运行原理
2020/03/04 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python新手学习装饰器
2020/06/04 Python
佳能英国官方网站:Canon UK
2017/08/08 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
儿科护士实习自我鉴定
2013/10/17 职场文书
专升本个人自我评价
2013/12/22 职场文书
玄武湖导游词
2015/02/05 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript