Pandas CookBook -- 04选取数据子集

选取数据子集

简书大神SeanCheney的译作,我作了些格式调整和文章目录结构的变化,更适合自己阅读,以后翻阅是更加方便自己查找吧

import pandas as pd
import numpy as np

设定最大列数和最大行数

pd.set_option('max_columns',5 , 'max_rows', 5)

1 选取Series数据

college = pd.read_csv('data/college.csv', index_col='INSTNM')
city = college['CITY']

1.1 iloc整数选取

标量

city.iloc[3]
'Huntsville'

多行 - 整数列表

city.iloc[[10,20,30]]
INSTNM
Birmingham Southern College                            Birmingham
George C Wallace State Community College-Hanceville    Hanceville
Judson College                                             Marion
Name: CITY, dtype: object

多行 - 整数切片

city.iloc[4:50:10]
INSTNM
Alabama State University              Montgomery
Enterprise State Community College    Enterprise
Heritage Christian University           Florence
Marion Military Institute                 Marion
Reid State Technical College           Evergreen
Name: CITY, dtype: object

1.2 loc标签选取

标量

city.loc['Heritage Christian University']
'Florence'

多行 - 标签列表

随机选择4个标签

labels = list(np.random.choice(city.index, 4))
labels
['University of St Thomas','Paul Mitchell the School-Woodbridge','San Francisco Conservatory of Music','Trinity Bible College']
city.loc[labels]
INSTNM
University of St Thomas                   Saint Paul
Paul Mitchell the School-Woodbridge       Woodbridge
San Francisco Conservatory of Music    San Francisco
Trinity Bible College                      Ellendale
Name: CITY, dtype: object

多行 - 标签切片

 city.loc['Alabama State University':'Reid State Technical College':10]
INSTNM
Alabama State University              Montgomery
Enterprise State Community College    Enterprise
Heritage Christian University           Florence
Marion Military Institute                 Marion
Reid State Technical College           Evergreen
Name: CITY, dtype: object

也可以切片逆序选取

city.loc['Reid State Technical College':'Alabama State University':-10]
INSTNM
Reid State Technical College           Evergreen
Marion Military Institute                 Marion
Heritage Christian University           Florence
Enterprise State Community College    Enterprise
Alabama State University              Montgomery
Name: CITY, dtype: object

2 选取DataFrame数据

2.1 选取DataFrame的行

注意iloc是整数索引,loc是标签索引即可

2.2 同时选取DataFrame的行和列

2.2.1 选取前3行和前4列

college.iloc[:3, :4]
CITYSTABBRHBCUMENONLY
INSTNM
Alabama A & M UniversityNormalAL1.00.0
University of Alabama at BirminghamBirminghamAL0.00.0
Amridge UniversityMontgomeryAL0.00.0
college.loc[:'Amridge University', :'MENONLY']
CITYSTABBRHBCUMENONLY
INSTNM
Alabama A & M UniversityNormalAL1.00.0
University of Alabama at BirminghamBirminghamAL0.00.0
Amridge UniversityMontgomeryAL0.00.0

2.2.2 选取两列的所有的行

college.iloc[:, [4,6]].head()
WOMENONLYSATVRMID
INSTNM
Alabama A & M University0.0424.0
University of Alabama at Birmingham0.0570.0
Amridge University0.0NaN
University of Alabama in Huntsville0.0595.0
Alabama State University0.0425.0
college.loc[:, ['WOMENONLY', 'SATVRMID']]
WOMENONLYSATVRMID
INSTNM
Alabama A & M University0.0424.0
University of Alabama at Birmingham0.0570.0
.........
Bay Area Medical Academy - San Jose Satellite LocationNaNNaN
Excel Learning Center-San Antonio SouthNaNNaN

7535 rows × 2 columns

2.2.3 选取不连续的行和列

college.iloc[[100, 200], [7, 15]]
SATMTMIDUGDS_NHPI
INSTNM
GateWay Community CollegeNaN0.0029
American Baptist Seminary of the WestNaNNaN
rows = ['GateWay Community College', 'American Baptist Seminary of the West']
columns = ['SATMTMID', 'UGDS_NHPI']
college.loc[rows, columns]
SATMTMIDUGDS_NHPI
INSTNM
GateWay Community CollegeNaN0.0029
American Baptist Seminary of the WestNaNNaN

2.2.4 选取一个标量值

college.iloc[5, -4]
0.401
college.loc['The University of Alabama', 'PCTFLOAN']
0.401

2.2.5 行切片选取一列

college.iloc[90:80:-2, 5]
INSTNM
Empire Beauty School-Flagstaff     0
Charles of Italy Beauty College    0
Central Arizona College            0
University of Arizona              0
Arizona State University-Tempe     0
Name: RELAFFIL, dtype: int64
start = 'Empire Beauty School-Flagstaff'
stop = 'Arizona State University-Tempe'
college.loc[start:stop:-2, 'RELAFFIL']
INSTNM
Empire Beauty School-Flagstaff     0
Charles of Italy Beauty College    0
Central Arizona College            0
University of Arizona              0
Arizona State University-Tempe     0
Name: RELAFFIL, dtype: int64

3 用整数和标签的互换

用索引方法get_loc,找到指定列的整数位置

col_start = college.columns.get_loc('UGDS_WHITE')
col_end = college.columns.get_loc('UGDS_UNKN') + 1
col_start, col_end
(10, 19)
college.iloc[:5, col_start:col_end]
UGDS_WHITEUGDS_BLACK...UGDS_NRAUGDS_UNKN
INSTNM
Alabama A & M University0.03330.9353...0.00590.0138
University of Alabama at Birmingham0.59220.2600...0.01790.0100
Amridge University0.29900.4192...0.00000.2715
University of Alabama in Huntsville0.69880.1255...0.03320.0350
Alabama State University0.01580.9208...0.02430.0137

5 rows × 9 columns

获得整数行对应的标签名

row_end = college.index[4]
col_start,col_end = college.columns[10],college.columns[19]
col_start,col_end
('UGDS_WHITE', 'PPTUG_EF')
college.loc[:row_end, col_start:col_end]
UGDS_WHITEUGDS_BLACK...UGDS_UNKNPPTUG_EF
INSTNM
Alabama A & M University0.03330.9353...0.01380.0656
University of Alabama at Birmingham0.59220.2600...0.01000.2607
Amridge University0.29900.4192...0.27150.4536
University of Alabama in Huntsville0.69880.1255...0.03500.2146
Alabama State University0.01580.9208...0.01370.0892

5 rows × 10 columns

4 切片操作

4.1 惰性行切片

惰性,我的理解就就是省去loc和iloc吧,但是惰性切片不能用于列,只能用于DataFrame的行和Series,也不能同时选取行和列。

Series选取数据

city = college['CITY']
city[10:20:2]
INSTNM
Birmingham Southern College              Birmingham
Concordia College Alabama                     Selma
Enterprise State Community College       Enterprise
Faulkner University                      Montgomery
New Beginning College of Cosmetology    Albertville
Name: CITY, dtype: object

dataframe行选取

college[10:20:2]
CITYSTABBR...MD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM
Birmingham Southern CollegeBirminghamAL...4420027000
Concordia College AlabamaSelmaAL...19900PrivacySuppressed
Enterprise State Community CollegeEnterpriseAL...246008273
Faulkner UniversityMontgomeryAL...3720022000
New Beginning College of CosmetologyAlbertvilleAL...NaN5500

5 rows × 26 columns

Series和DataFrame都可以用标签进行切片。

start = 'Mesa Community College'
stop = 'Spokane Community College'
college[start:stop:1500]
CITYSTABBR...MD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM
Mesa Community CollegeMesaAZ...352008000
Hair Academy Inc-New CarrolltonNew CarrolltonMD...152009666
National College of Natural MedicinePortlandOR...NaNPrivacySuppressed

3 rows × 26 columns

4.2 按照字母切片

需先对索引进行排序

college = college.sort_index()
college.head()
CITYSTABBR...MD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM
A & W Healthcare EducatorsNew OrleansLA...NaN19022.5
A T Still University of Health SciencesKirksvilleMO...219800PrivacySuppressed
ABC Beauty AcademyGarlandTX...NaNPrivacySuppressed
ABC Beauty College IncArkadelphiaAR...PrivacySuppressed16500
AI Miami International University of Art and DesignMiamiFL...2990031000

5 rows × 26 columns

选取字母顺序在‘Sp’和‘Su’之间的学校

college.loc['Sp':'Su']
CITYSTABBR...MD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM
Spa Tech Institute-IpswichIpswichMA...215006333
Spa Tech Institute-PlymouthPlymouthMA...215006333
..................
Styles and Profiles Beauty CollegeSelmerTN...PrivacySuppressedPrivacySuppressed
Styletrends Barber and Hairstyling AcademyRock HillSC...PrivacySuppressed9495.5

201 rows × 26 columns

转载于:https://www.cnblogs.com/shiyushiyu/p/9742232.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卷积核和全连接层的区别_「动手学计算机视觉」第十六讲:卷积神经网络之AlexNet...

前言前文详细介绍了卷积神经网络的开山之作LeNet,虽然近几年卷积神经网络非常热门,但是在LeNet出现后的十几年里,在目标识别领域卷积神经网络一直被传统目标识别算法(特征提取分类器)所压制,直到2012年AlexNet(ImageNet Classific…

vnc配置备忘录

因为我开发板上要用到Qt,所以我在服务器上安装了Qt的开发环境,为了能远程连接到服务器我安装了VNC, 中间也是遇到了很多问题,比如连接上去后,只显示一个控制台的窗口,只能使用命令行。后来几经周折才搞定先…

编程挑战:字符串的完美度

题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同, 而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。 现在给…

网络编程知识预备(5) ——libcurl库安装及其编程访问百度首页

本文为学习笔记,整合课程内容以及下列文章: 其中,libcurl函数库常用字段解读部分: 参考博文:原文地址 作者:冬冬他哥哥 目录Libcurl库简介Libcurl等三方库的通用编译方法三方库使用前通读方法库的配置、编…

JSP(Servlet)中从连接池获取连接

1) 建立连接。 2) 执行SQL。 3) 处理结果。 4) 释放资源。 Connection pool:连接池 DataSource: LDAP ( Light directory access protocal )轻量级目录访问协议。 JNDI ( java naming director interface ) Java 命名目录接口。 使用连接池: …

文件系统模拟程序python_如何使用sh实现Python虚拟文件系统

我已经建立了一个模拟操作系统的Python脚本。它有一个命令提示符和一个虚拟文件系统。我使用shelve模块来模拟文件系统,它是多维的,以便支持目录的层次结构。但是,我在执行“cd”命令时遇到问题。我不知道如何进出目录,即使我有一…

udhcpd配置及使用

udhcpd配置及使用 1. 修改/etc/udhcpd.conf 修改 interface ra0 #default: eth0 为对应网卡 解决error, Unable to open /var/lib/misc/udhcpd.leases for reading, 在板子上执行以下命令: # mkdir -p /var/lib/misc/ # touch /var/lib/misc/udhcp…

智能家居 (9) ——人脸识别摄像头安装实现监控功能

目录摄像头模块安装安装mjpg-streamer库开启监控功能往期文章摄像头模块安装 注意:安装要下电安装,不能带电!连接其他硬件模块的时候也是。 安装mjpg-streamer库 树莓派利用pi Camera模块,通过mjpg-streamer软件获取视频&#xf…

清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解

localStorage是html5新增的一个本地存储API,它有5M的大小空间,通过(key,value)的方式存储在浏览器中window.localStorage.setItem(key, value); //储存文件window.localStorage.getItem(key); //读取文件window.localStorage.removeItem(key); //清除文件vue中使用方法&#xf…

洛谷p2234/BZOJ1588 [HNOI2002]营业额统计

题目链接:洛谷BZOJ 分析: 好像没有什么好说的就是一个平衡树的板子……唯一要注意的就是这里要找的并不是严格的前驱和后继,因为如果找到之前某一天的营业额和它相等那么差就是0,所以我们仍然在结构体中开一个域cnt来存储同一个元…

WSDL中文版——详解

为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语…

设备树和pinctrl粗解

上次文章中 我以DS18b20为例,在设备树中定义了ds18b20的资源(device),当时是依葫芦画瓢,没有深入探究,本文主要探讨下pin在设备树中的描述 参考文章:Linux内核中的GPIO系统之(3&…

八大排序算法(C语言实现)

摘自:八大排序算法(C语言实现) 作者:2021dragon 发布时间: 2021-05-16 10:46:37 网址:https://blog.csdn.net/chenlong_cxy/article/details/116563972 目录 直接插入排序希尔排序选择排序堆排序冒泡排序快…

python qq签到_Yii Framework 中文网每天签到 Python 脚本

Yii 春节前的重磅新闻:Yii 2.0.16 版本发布了经过国内 Yii 使用者坚持不懈的进行国际化翻译,以及在中国进行大量的宣传和推广,Yii China 目前已经成为全球最大的 Yii 中文社区也就是 Yii Framework 中文网,地址为 www.yiichina.co…

codeforces 1060 A

https://codeforces.com/contest/1060/problem/A 题意&#xff1a;电话号码是以8开头的11位数&#xff0c;给你n 个数问最多可以有多少个电话号码 题解&#xff1a;min&#xff08;8的个数&#xff0c;n/11&#xff09; 代码如下&#xff1a; #include <map> #include &l…

嵌入式linux 自动获取IP 及 自动校时

最近要调用百度人脸识别API做个东西&#xff0c;发现百度API在桌面端QT程序跑的贼溜&#xff0c;可以到了嵌入式板子上发现就post没了返回信息。 一、嵌入式端udhcpc自动获取IP 1.在开发板建立文件夹#mkdir /usr/share/udhcpc/ -p 2.先拷贝busybox 源码目录下的 busybox-1.27…

MYSQL MVCC实现及其机制

多版本并发控制 Multiversion Concurrency Control 大部分的MySQL的存储 引擎&#xff0c;比如InnoDB&#xff0c;Falcon&#xff0c;以及PBXT并不是简简单单的使用行锁机制。它们都使用了行锁结合一种提高并发的技术&#xff0c;被称为MVCC&#xff08;多版本并 发控制&#x…

树莓派外设开发之控制继电器(组)

目录控制继电器控制继电器组控制继电器 选择7号引脚作为继电器信号输出控制端。 代码&#xff1a; #include <wiringPi.h> #include <stdio.h> #define SWITCHER 7 // 7为树莓派物理引脚编码和wiringPi编码。在树莓派功能名为GPIO.7int main() {int cmd;if( wiri…

piovt table python_python – Pandas:pivot和pivot_table之间的区别...

我有以下数据帧.df.head(30)struct_id resNum score_type_name score_value0 4294967297 1 omega 0.0648401 4294967297 1 fa_dun 2.1856182 4294967297 1 fa_dun_dev 0.0000273 4294967297 1 fa_dun_semi 2.1855914 4294967297 1 ref -1.1911805 4294967297 2 rama -0.7951616…

读《系统虚拟化-原理与实现》-第一章

一、虚拟化的实现: 在系统中加入一个虚拟化层&#xff0c;虚拟化层将下层资源抽象成另一形式的资源&#xff0c;提供给上层使用 1. 是虚拟化迁移的基础 2. 提高了移植性 二、几种虚拟化 1.硬件抽象层上的虚拟化 通过虚拟硬件抽象层来实现虚拟机 2.操作系统层上的虚拟化 操…