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编程中time模块的使用
Nov 20 Python
Python提取网页中超链接的方法
Sep 18 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
python模块smtplib实现纯文本邮件发送功能
May 22 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
python使用Matplotlib画饼图
Sep 25 Python
学生信息管理系统python版
Oct 17 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
python3 线性回归验证方法
Jul 09 Python
Python tkinter常用操作代码实例
Jan 03 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
浅谈Python描述数据结构之KMP篇
Sep 06 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
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP会话处理的10个函数
2015/08/11 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
利用python爬取有道词典的方法
2020/12/08 Python
"火柴棍式"程序员面试题
2014/03/16 面试题
人力资源专业推荐信
2013/11/29 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python