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

作者:达达爱吃肉 时间:2021-03-03 11:11:40 

数据初始化


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['三','级别']

'一线'

来源:https://blog.csdn.net/weixin_44706915/article/details/115368105

标签:dataframe,数据选择
0
投稿

猜你喜欢

  • 浅谈Python项目的服务器部署

    2021-01-10 04:26:48
  • python的reverse函数翻转结果为None的问题

    2022-06-20 16:27:32
  • php投票系统之增加与删除投票(管理员篇)

    2023-10-14 09:44:53
  • JavaScript日期工具类DateUtils定义与用法示例

    2024-04-16 08:51:29
  • python实现图片批量压缩程序

    2021-11-27 03:50:11
  • vscode单击新文件时覆盖旧文件的解决方法

    2022-02-16 09:09:48
  • python爬虫把url链接编码成gbk2312格式过程解析

    2023-04-26 21:00:10
  • Centos 6.5系统下编译安装PHP 7.0.13的方法

    2023-06-07 13:04:26
  • python基本算法之实现归并排序(Merge sort)

    2023-04-06 03:20:07
  • python 时间处理之月份加减问题

    2023-11-08 01:05:42
  • 使用Python自动化破解自定义字体混淆信息的方法实例

    2022-05-24 20:15:34
  • 用Dreamweaver MX制作文字特效

    2011-06-14 09:49:47
  • 教你怎么用Python实现多路径迷宫

    2022-03-11 15:07:52
  • python3 实现mysql数据库连接池的示例代码

    2024-01-17 15:25:59
  • asp如何实现对Session 数组的定义和调用?

    2010-05-18 18:40:00
  • jQuery在去除缓存数据的一个失误

    2009-12-14 20:40:00
  • 关于Theano和Tensorflow多GPU使用问题

    2023-10-10 13:58:59
  • oracle表空间扩容详情

    2024-01-12 15:31:54
  • 使用python在本地电脑上快速处理数据

    2022-07-30 14:43:11
  • golang 如何获取map所有key的方式

    2024-02-21 20:28:57
  • asp之家 网络编程 m.aspxhome.com