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中使用urllib2伪造HTTP报头的2个方法
Jul 07 Python
Python入门篇之正则表达式
Oct 20 Python
Python中实现常量(Const)功能
Jan 28 Python
python实现从ftp服务器下载文件的方法
Apr 30 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
python实现日常记账本小程序
Mar 10 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
win10下python3.5.2和tensorflow安装环境搭建教程
Sep 19 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
基于Python实现剪切板实时监控方法解析
Sep 11 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP实现合并discuz用户
2015/08/05 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
layui分页效果实现代码
2017/05/19 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python实现基于HTTP文件传输实例
2014/11/08 Python
Python 加密的实例详解
2017/10/09 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
flask框架中的cookie和session使用
2021/01/31 Python
爱游人:Travelliker
2017/09/05 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
编辑找工作求职信分享
2014/01/03 职场文书
学校师德师风整改措施
2014/10/27 职场文书
大学生操行评语大全
2014/12/31 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP