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实现计算资源图标crc值的方法
Oct 05 Python
Python中获取网页状态码的两个方法
Nov 03 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
python tkinter实现屏保程序
Jul 30 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
django框架中间件原理与用法详解
Dec 10 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
字典算法实现及操作 --python(实用)
Mar 31 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个人网站架设连环讲(二)
2006/10/09 PHP
php生成xml简单实例代码
2009/12/16 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
名片管理系统python版
2018/01/11 Python
python中的global关键字的使用方法
2019/08/20 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
大学生自我鉴定评语
2014/01/27 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
2014年电工工作总结
2014/11/20 职场文书
同学聚会感言一句话
2015/07/30 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
MySQL学习必备条件查询数据
2022/03/25 MySQL
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers