十分钟轻松掌握dataframe数据选择

数据初始化

import pandas as pd
import numpy as np
a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']])
df=pd.DataFrame(a,index=['一','二','三','四'],columns=['城市','地理','级别','是否沿海'])

城市 地理 级别 是否沿海
一 北京 北方 一线 非沿海
二 杭州 南方 二线 非沿海
三 深圳 南方 一线 沿海
四 烟台 北方 三线 沿海

选择某一行

通过loc选择某一行

loc标签是轴标签,也就是我们的索引名,使用也非常简单

df.loc['二']

城市       杭州
地理       南方
级别       二线
是否沿海    非沿海
Name: 二, dtype: object

通过iloc选择某一行

iloc为整数标签,类似我们使用的元组列表的索引。比如我们想选择第二行的数据,第二行的索引则为1.

df.iloc[1]

城市       杭州
地理       南方
级别       二线
是否沿海    非沿海
Name: 二, dtype: object

选择某一列

最简单的方法选择某一列

如果我们知道列索引,那么选择某一列则变得十分简单

df['级别']

一    一线
二    二线
三    一线
四    三线
Name: 级别, dtype: object

通过iloc选则某一列

正如我们上述使用iloc的方法,我们只需传入行或者列的索引即可。其实iloc的中括号里可以输入两个参数。前面为行,后面为列中间用逗号隔开。(如果省略了逗号,则默认取选择行)

比如现在我们想选择第二列,我们只需在逗号钱输入: 代表所有的行,后面则输入1代表第二列

df.iloc[:, 1]

一    北方
二    南方
三    南方
四    北方
Name: 地理, dtype: object

通过loc选择某一列

和iloc的使用相似,只不过在数据筛选中我们不再使用行整数索引,而是具体的索引值。

df.loc[:, '是否沿海']

一    非沿海
二    非沿海
三     沿海
四     沿海
Name: 是否沿海, dtype: object

选择某一行的某几列或某一列的某一行

其实loc与iloc是dataframe中选择数据最高效的方式,他的功能也十分强大。我们可以随意组合。

选择某一行的某几列

比如我们现在选择第二行的中间两列

df.iloc[1,1:3]

地理    南方
级别    二线
Name: 二, dtype: object

当然我们也可以不使用整数索引

df.loc['二':,'地理':'级别']

地理 级别
二 南方 二线
三 南方 一线
四 北方 三线

通过行列自由组合去选择数据

比如我们想选择第二到三行的第二列和第三列

df.iloc[2:4:, 2:4]

级别 是否沿海
三 一线 沿海
四 三线 沿海

同样十分简单,通过loc使用效果相同,这里不过多描述

选择某几列或者某几行

选择某几列

df.iloc[:,2:4]

级别 是否沿海
一 一线 非沿海
二 二线 非沿海
三 一线 沿海
四 三线 沿海

选择某几行

城市 地理 级别 是否沿海
二 杭州 南方 二线 非沿海
三 深圳 南方 一线 沿海

获取单个标量值

如果把dataframe看做一个表格,这里可以看成获得表格里某个单元格的值

通过iat去获取

iat即为整数标签

df.iat[2,2]

'一线'

通过at去获取

at即为具体的索引值去获取

df.at['三','级别']

'一线'

到此这篇关于十分钟轻松掌握dataframe数据选择的文章就介绍到这了,更多相关dataframe数据选择内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python pandas dataframe 行列选择,切片操作方法

    SQL中的select是根据列的名称来选取:Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position是从0开始)选取.相关函数如下: 1)loc,基于列label,可选取特定行(根据行index): 2)iloc,基于行/列的position: 3)at,根据指定行index及列label,快速定位DataFrame的元素: 4)iat,与at类似,不同的是根据position来定位的: 5)ix,为loc与i

  • 根据DataFrame某一列的值来选择具体的某一行方法

    原始数据的DF: 此时,我要选择列名isInfected为"手足口病"的样本行: 总结:选择DataFrame里面某一列等于某个值的所有行,用一条命令即可解决即: df.loc[df['columnName']=='the value'] 以上这篇根据DataFrame某一列的值来选择具体的某一行方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 对Python中DataFrame选择某列值为XX的行实例详解

    如下所示: #-*-coding:utf8-*- import pandas as pd all_data=pd.read_csv("E:/协和问答系统/SenLiu/熵测试数据.csv") #获取某一列值为xx的行的候选列数据 print(all_data) feature_data=all_data.iloc[:,[0,-1]][all_data[all_data.T.index[0]]=='青年'] print(feature_data) 实验结果如下: "C:\Pro

  • 十分钟轻松掌握dataframe数据选择

    数据初始化 import pandas as pd import numpy as np a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']]) df=pd.DataFrame(a,index=['一','二','三','四'],columns=['城市','地理','级别','是否沿海']) 城市 地理 级别 是否沿海 一 北京 北方 一线 非

  • Java十分钟掌握选择与循环结构

    目录 选择结构 1.简单if 2.多重if 3.嵌套if 4.switch选择结构 循环结构 while循环 do-while循环 选择结构 1.简单if int money=10; if(money>100){ System.out.println("money小于100"); } Java内的if其实和别的编程语言是一样的,在if后的括号内,写需要判断的数据,若符合,则执行. 2.多重if 多重if结构,有多种选择但是选择一种 这里就要搭配else if 来使用 if (nu

  • 十分钟搞定pandas(入门教程)

    本文是对pandas官方网站上<10Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯上,我们会按下面格式引入所需要的包: 一.创建对象 可以通过Data Structure Intro Setion 来查看有关该节内容的详细信息. 1.可以通过传递一个list对象来创建一个Series,pandas会默认创建整型索引: 2.通过传递一个numpyarray,时间索引以及列标签来创建一个Data

  • 利用JS十分钟判断数组中存在元素的多种方式

    前言 在前端开发中,经常会遇到要判断数组中是否存在某个元素.其实判断的方式有很多种,我们一个一个来了解下. 我们先来定义一个数组: const arr = [ 13, false, 'abcd', undefined, 13, null, NaN, [1, 2], { a: 123 }, () => Date.now(), new Date('2021/03/04'), new RegExp('abc', 'ig'), Symbol('sym'), ]; 在这个数组中,我们包含了好几种类型:nu

  • Java十分钟精通接口的使用与原理

    何为接口? 官方解释: Java内的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 个人理解解释: 其实接口可以理解为一种特殊的类,这个类里面全部是由全局常量和**公共的抽象方法(需要重写)所组成.接口是解决Java无法使用多继承的一种手段.我们可以把接口理解为是一个100%的抽象类,既接口中的方法必须全部是抽象方法.反正接口里面都是方法,但是没有方法体,其他类实现这个接口后重

  • Python编程django实现同一个ip十分钟内只能注册一次

    很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦 逻辑: 取ip,在数据库找ip是否存在,存在判断当前时间和ip上次访问时间之差,小于600不能注册,到登录界面,大于600可以注册,设计一个数据库来存储这个ip地址和访问时间, class Ip(models.Model): ip=models.CharField(max_length=20) time=models.DateTimeField() class Meta: verbose_na

  • django实现同一个ip十分钟内只能注册一次的实例

    很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦 逻辑: 取ip,在数据库找ip是否存在,存在判断当前时间和ip上次访问时间之差,小于600不能注册,到登录界面,大于600可以注册, 设计一个数据库来存储这个ip地址和访问时间, class Ip(models.Model): ip=models.CharField(max_length=20) time=models.DateTimeField() class Meta: verbose_n

  • Symfony学习十分钟入门经典教程

    Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己的第一个Symfony程序. 如果需要这个样例程序的全部源代码,可以访问 这里 ,或者通过下面的方式获取源代码: $git clone https://github.com/saharabear/symfony-sample.git 项目初始化 首先,需要你在自己的电脑中安装PHP环境并安装git.这方面的内容属于基础内容,网络上有大

  • 对pandas的行列名更改与数据选择详解

    记录一些pandas选择数据的内容,此前首先说行列名的获取和更改,以方便获取数据.此文作为学习巩固. 这篇博的内容顺序大概就是: 行列名的获取 -> 行列名的更改 -> 数据选择 一.pandas的行列名获取和更改 1. 获取: df.index() df.columns() 首先,举个例子,做一个DataFrame如下: >>>import pandas as pd >>>import numpy as np >>>data = pd.D

随机推荐