Python Pandas 行数据筛选方法汇总

2023-11-14

一、准备数据

import pandas as pd
# 假设有 5 个人,分别参加了 2 门课程,获得了对应的分数
data = {'name' : pd.Series(['Alice', 'Bob', 'Cathy', 'Dany', 'Ella']),
   'Math' : pd.Series([1.1, 2.2, 3.3, 4.4, 5]),
     'English' : pd.Series([3, 2.6, 2, 1.7, 3])
     }

df = pd.DataFrame(data)
print(df)

运行结果:

    name  Math  English
0  Alice   1.1      3.0
1    Bob   2.2      2.6
2  Cathy   3.3      2.0
3   Dany   4.4      1.7
4   Ella   5.0      3.0

二、通过逻辑规则筛选(大于/小于等)

print(df[df.Math > 2.5]) # 筛选 'Math' 这门课分数高于 2.5 分的 行

运行结果:

    name  Math  English
2  Cathy   3.3      2.0
3   Dany   4.4      1.7
4   Ella   5.0      3.0

逻辑运算表:
在这里插入图片描述

三、删除重复元素

(仅限于行之间的重复:同一列,不同行的数值相同)

print(df.drop_duplicates(subset='English')) # 删除 'English' 这门课 分数 一样 的 行

运行结果:

    name  Math  English
0  Alice   1.1      3.0
1    Bob   2.2      2.6
2  Cathy   3.3      2.0
3   Dany   4.4      1.7

三、显示最前面 / 最后面的 n 行

3.1 显示前面 n 行

print(df.head(2)) # 显示前面 2 行

运行结果:

    name  Math  English
0  Alice   1.1      3.0
1    Bob   2.2      2.6

3.2 显示后面 n 行

print(df.tail(2)) # 显示后面 2 行

运行结果:

   name  Math  English
3  Dany   4.4      1.7
4  Ella   5.0      3.0

四、随机抽取

4.1 随机抽取一定比例

print(df.sample(frac=0.2)) # 这里一共 5 行,5*0.2 = 1 行

运行结果:

   name  Math  English
4  Ella   5.0      3.0

4.2 随机抽取 n 行

print(df.sample(n=2)) # 随机抽取 2 行

运行结果:

    name  Math  English
3   Dany   4.4      1.7
2  Cathy   3.3      2.0

五、切片选取特定范围

# 选取第 2~3 行(从 0 行开始)
print(df.iloc[2:4]) # 切片操作,需要注意的是后面的数字是 4 , 第 4 行不取

运行结果:

    name  Math  English
2  Cathy   3.3      2.0
3   Dany   4.4      1.7

六、排序并选取最值

6.1 选取最大的 n 个值

print(df.nlargest(3,'Math')) # 从大到小排序,并取得 'Math' 最大的 3 行

运行结果:

    name  Math  English
4   Ella   5.0      3.0
3   Dany   4.4      1.7
2  Cathy   3.3      2.0

6.2 选取最小的 n 个值

print(df.nsmallest(3,'Math')) # 从大到小排序,并取得 'Math' 最大的 3 行

运行结果:

    name  Math  English
0  Alice   1.1      3.0
1    Bob   2.2      2.6
2  Cathy   3.3      2.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pandas 行数据筛选方法汇总 的相关文章

  • Mac OS 上的诗歌安装失败,显示“should_use_symlinks”

    我正在尝试使用以下命令安装诗歌 curl sSL https install python poetry org python3 但它失败了 但有以下例外 例外 此版本的 python 无法在不使用符号链接的情况下创建 venvs 下面是详
  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • 如何在python 3.7中生成条形码

    我正在使用 python 3 7 为了生成条形码 我尝试使用安装 pyBarcode 库pip install pyBarcode 但它显示以下错误 找不到满足 pyBarcode 要求的版本 来自版本 找不到 pyBarcode 的匹配分
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 补丁 - 为什么相对补丁目标名称不起作用?

    我已经从模块导入了一个类 但是当我尝试修补类名而不使用模块作为前缀时 出现类型错误 TypeError Need a valid target to patch You supplied MyClass 例如 以下代码给出了上述错误 imp
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • Python - 来自 .进口

    我第一次尝试图书馆 我注意到解决图书馆内导入问题的最简单方法是使用如下结构 from import x from some module import y 我觉得这件事有些 糟糕 也许只是因为我不记得经常看到它 尽管公平地说我还没有深入研究
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • 如何在Python中同时运行两只乌龟?

    我试图让两只乌龟一起移动 而不是一只接着另一只移动 例如 a turtle Turtle b turtle Turtle a forward 100 b forward 100 但这只能让他们一前一后地移动 有没有办法让它们同时移动 有没有
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • Python:IndexError:修改代码后列表索引超出范围

    我的代码应该提供以下格式的输出 我尝试修改代码 但我破坏了它 import pandas as pd from bs4 import BeautifulSoup as bs from selenium import webdriver im
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 将seaborn.palplot轴添加到现有图形中以可视化不同调色板

    将seaborn人物添加到子图中是usually https seaborn pydata org examples cubehelix palette html创建图形时通过传递 ax 来完成 例如 sns kdeplot x y cma
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • 如何根据第一列创建新列,同时考虑Python Pandas中字母和列表的大小? [复制]

    这个问题在这里已经有答案了 我在 Python Pandas 中有 DataFrame 如下所示 col1 John Simon prd agc Ann White BeN and Ann bad list Ben Wayne 我需要这样做
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此

随机推荐

  • 30个落地案例告诉你,区块链到底怎么用

    区块链的商业价值 一千个企业就有一千种解读 唯链 VeChain 起步于2015年 作为国内知名的公链项目之一 它的行事作风一直显得不太 合群 大多数公链生态所追随的热点如DAPP游戏开发 Defi Staking等等 唯链似乎都鲜少参与
  • [STL]vector常见用法详解

    目录 引入 常见用法介绍 1 vector的定义 2 vector容器内元素的访问 3 vector常用函数实例解析 1 push back 2 pop back 3 size 4 clear 5 insert 6 erase vector
  • 如果有一天程序员再也不忙了

    前言 程序员是世界上最可爱的人 正文 一 程序员是什么 二 程序员写的代码有什么用 三 程序员最本质的不同是什么 四 程序员为什么找不到妹子 五 程序员的工作究竟有多忙 六 有一天程序员不忙了会怎样 七 找不到妹子真的是因为工作忙吗 八 你
  • .NET Core 获取自定义配置文件信息

    官方文档说 引用 Microsoft AspNetCore App 元包或将包引用添加到 Microsoft Extensions Options ConfigurationExtensions 包 简而言之 直接可以获取 不用引用包了 a
  • 盖茨来了:比起去火星,地球有些事更紧迫

    2023年6月14日晚 比尔 盖茨在微博更新了一条消息 他写道 我刚降落在北京 这是我2019年以来的首次访问 盖茨基金会与中国伙伴合作应对全球健康和发展挑战已经超过15年 我非常高兴能与中国的伙伴们见面 在减少儿童死亡和贫困方面 世界取得
  • CSS层叠样式表-选择器

    1 CSS 1 特点 相同属性会覆盖 不同属性会叠加 2 引入方式 外部样式 在head标签中使用link标签引入css文件 内嵌样式 在head标签中使用style标签进行书写 行内样式 在对应标签中添加style属性 1 外部样式 W3
  • 二叉查找树实现

    package leetcode May import java util ArrayList import java util List description 二叉查找树 author qiangyuecheng date 2022 5
  • 小程序单独页面生成二维码

    给单独的小程序页面生成一个二维码 比如某个商品 1 登录小程序绑定的公众号后台 2 选择 工具 生成小程序码 输入小程序AppID 复制页面路径 截图保存完成
  • 天才中的天才—冯·诺依曼简介

    https www toutiao com i6707878069182398988 参考 数学扫地僧 冯 诺依曼 John von Neumann 1903 1957 美国数学家 原籍匈牙利 毫无疑问 冯 诺依曼是20世纪最重要的数学家之
  • 关于 Unknown column ‘xxx‘ in ‘field list‘ 的问题解决

    Unknown column xxx in field list 在开发中出现了此类报错 Error querying database Cause java sql SQLSyntaxErrorException Unknown colu
  • 怎样配置炒股用的计算机,炒股专用电脑配置

    炒股专用电脑配置 一 显卡 1 欲购六屏且囊中羞涩的股民朋友 显卡可以选择AMD的六屏显卡 为避广告嫌疑 此处便不列举具体型号了 而预算稍充足一些的便推荐更加稳定的英伟达图形工作站系列显卡 如Nvidia Quadro P620 2 对于四
  • 计算机专业 拒绝清华,2次拒绝北大邀请,获清华保送生资格,网友:清华计算机全球第一...

    原标题 2次拒绝北大邀请 获清华保送生资格 网友 清华计算机全球第一 能够获得北京大学的盛情邀请 应该是一种极大的光荣吧 更何况连高考都不用参加 可以直接入学 不过 这位高三生 却2次拒绝了北大数学系的邀请 理由是 他更喜欢计算机 最终 这
  • 隐马尔可夫模型(HMM)的分类

    1 遍历型 ergodic model 即每个状态都可以由任意一个状态演变而来 aij gt 0 for all i j 如图 2 left right type of HMM 每个状态只能由下标值小于当前值得状态以及其本身转移而来 即从左
  • 如何解决x盘莫名出现的msdia80.dll文件

    如何解决x盘莫名出现的msdia80 dll文件 参考文章 https zhuanlan zhihu com p 138954717
  • 在latex中如何编写方程组,并且带文字或者范围分段,以及如何使用空格使其对齐

    在latex中如何编写方程组 并且带文字或者范围分段 以及如何使用空格使其对齐 begin equation O ij t begin cases x it x oi t y it y oi t quad text Obstacles ex
  • 【卷积神经网络】卷积层,池化层,全连接层

    转于 入门PyTorch 卷积层是卷积神经网络的核心 大多数计算都是在卷积层中进行的 1 卷积层 1 1 概述 首先介绍卷积神经网络的参数 这些参数是由一些可学习的滤波器集合构成的 每个滤波器在空间上 宽度和高度 都比较小 但是深度和输入数
  • UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte

    遇到python转码问题解决方案 利用notepad进行转码 如图 转为 utf 8保存重新运行 完美解决 ps 又遇到了一个分隔符错误 只需要添加以下就可以 df pd read csv D workspace python demo 长
  • Blender基础:曲线建模基础

    1 曲线建模 曲线Curve 也称为样条 用于描绘平滑的曲线和形状 一般分为两种 贝塞尔曲线 Nurbs曲线 添加一条曲线 添加 gt 曲线 gt 贝塞尔曲线 按7 进入顶视图 按TAB 编辑曲线 选择移动工具 移动控制点或控制柄 按TAB
  • 趣事

    一 谁发明了微积分 1 一篇文献引起的巨人相搏 如果要在科学史上找出一次最重要的巨人相争 牛顿与莱布尼茨围绕微积分发明权的争论无疑是当仁不让之选 1684 年 10 月 莱比锡大学学术刊物 学术论文集 刊载了一篇名字烦琐冗长的论文 一种求极
  • Python Pandas 行数据筛选方法汇总

    Pandas 行数据筛选 一 准备数据 二 通过逻辑规则筛选 大于 小于等 三 删除重复元素 三 显示最前面 最后面的 n 行 3 1 显示前面 n 行 3 2 显示后面 n 行 四 随机抽取 4 1 随机抽取一定比例 4 2 随机抽取 n