pandas dataframe 的几种过滤数据的方法

news2024/9/21 8:03:54

pandas dataframe简介

Pandas是一个用于数据科学的开源Python库。这个库在整个数据科学行业被广泛使用。它是一个快速和非常强大的python工具来执行数据分析。Pandas为我们提供了读取、过滤、检查、操作、分析和绘制数据的命令。它使用内置函数加载以各种文件格式存储的数据,如csv, json, text等,作为pandas数据框架结构。

pandas dataframe是一种和excel一样的表格结构。它是一种二维数据结构,由行和列形式的数据组成。此库用于对数据进行分组、聚合、清理和过滤。它允许我们创建原始数据集的子集。

在使用它之前,首先要通过命令

pip3 install pandas

来安装pandas。

使用时,就可以通过

import pandas as pd

来引用pandas。

在进入具体的分析之前,准备数据如下:

方法一,选择某一列或者某几列数据

调用方法: df [ [‘‘column name 1', ‘'column name 2’’] ]

根据上述数据选择Name和Age列,示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choose_by_column = test_info[['Name','Age']]
print(choose_by_column)

程序结果执行如下:

方法二,根据行的索引选取几行数据

调用方法:df [start_index : end_index]

根据上述数据选择前5行数据,示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info[0:5]
print(choosed_data)

打印结果如下:

方法三,根据行与列的索引选取数据

调用方法:df.iloc [row index range, column index range]

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.iloc[1:5, 0:2]
print(choosed_data)

打印结果如下:

方法四,根据行列的索引选取具体某一列数据

调用方法:df.loc [row dataset index/labels, ‘column_name’]

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.loc[1:5, 'Name']
print(choosed_data)

打印结果如下:

方法五,根据某一列的值符合条件来过滤

调用方法:df [ (df[‘‘column name'] ==’column value’ )]

选出大于40岁的数据,示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info[test_info['Age']>40]
print(choosed_data)

打印结果如下:

如果是多个条件,可以使用逻辑操作符 & 和 |, 例如,选择大于40又小于60的:

choosed_data = test_info[(test_info['Age']>40) & (test_info['Age']<60)]

结果如下:

使用loc函数也可以实现同样的效果:

调用方法:df.loc[(column name 1 >= column value) & (column name 2 >= column value)]

示例代码:

choosed_data = test_info.loc[(test_info['Age']>40) & (test_info['Age']<60)]

方法六,使用query方法

调用方法:df.query(column name >= column value )

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.query('Age>40')
print(choosed_data)

打印结果如下:

方法七,使用iat定位某一个具体的cell

调用方法: df.iat[row index, column index]

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.iat[5, 3]
print(choosed_data)

打印结果如下:

方法八,根据列表条件选择

调用方法:df [ df[column name].isin([column value 1, column value 2])]

选择年龄是10的倍数的人,示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info[test_info['Age'].isin([10,20,30,40,50,60,70,80,90,100])]
print(choosed_data)

打印结果如下:

跟方法五一样,也可以通过df.loc[]实现同样的效果,这里就不举例了

方法九,根据字符串的值匹配进行过滤

调用方法:df = df[ df[column name].str.contains('characters$')]

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info[test_info['Address'].str.contains('Address')]
print(choosed_data)

打印结果如下:

如果出现错误 “ValueError: Cannot mask with non-boolean array containing NA / NaN values”,说明这一列有空值,可以先将空值使用DataFrame.fillna处理之后,再调用。

方法十,空值的过滤

调用方法:df.isnull()

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.isnull()
print(choosed_data)

打印结果如下:

可以根据打印结果知道哪一行的那一列的数据是空的。

接着就可以使用df.dropna(inplace=True)将空值删除。

示例代码如下:

data_file = "F:\\1.xlsx"
test_info = pd.read_excel(data_file)
choosed_data = test_info.isnull()
test_info.dropna(inplace=True)
print(test_info)

打印结果:

可以看到最后一行的含有空值的行已经被删除了。

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

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

相关文章

圆片/圆盘测厚设备 HW01-SG系列单点测厚仪

关键字:圆片测厚仪圆盘测厚仪, 圆形测厚仪, 单点测厚仪, 汽车工件测厚仪, 产品简介&#xff1a; 测厚仪采用上下两个对射的激光位移传感器测量圆盘状物体边缘的厚度。圆盘放置在由步进电机驱动的托盘上&#xff0c;点按测量按钮托盘旋转一周&#xff0c;可测量被测物整个圆周上…

三:哈希map day6 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

今日任务 ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和 今日任务 242.有效的字母异位词 题目 大型概括&#xff1a;map 的使用 1.题目描述-->思路&#xff1a; 给出两个string s,t; …

开放式运动耳机哪款好用?五款高性能值得信赖产品推荐

身为户外运动的达人&#xff0c;我发现开放式运动耳机简直是咱们运动时的最佳拍档&#xff0c;不管是跑步还是健身&#xff0c;开放式运动耳机最为舒适&#xff0c;它的妙处就在于不用塞进耳朵&#xff0c;这样既安全又卫生&#xff0c;户外动起来更放心。但市面上好坏参半&…

SDL系列(一)—— 小白入门

SDL &#xff08; Simple DirectMedia Layer &#xff09; 是一套开放源代码的 跨平台多媒体开发库 &#xff0c;使用 C 语 言写成。 SDL 提供了数种控制图像、声音、输出入的函数&#xff0c;让开发者只要用相同或是相似的 代码就可以开发出 跨多个平台&#xff08; Linu…

线上3D博物馆搭建简单吗?有何优势?有哪些应用场景?

随着科技的飞速发展&#xff0c;传统的博物馆参观方式正在经历一场前所未有的变革&#xff0c;在科技的“加持”下&#xff0c;不少博物馆凭借强大的技术、创意和美学实践&#xff0c;频频“出圈”&#xff0c;线上3D博物馆逐渐崛起&#xff0c;这不仅丰富了人们的文化体验&…

量子计算机接入欧洲最快超算!芬兰加快混合架构算法开发

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;1900字丨7分钟阅读 摘要&#xff1a;芬兰技术研究中心&#xff08;VTT&#xff09;与 CSC 展开合作&#xff0c;基于量子计算机超算架构进行算法开…

年度更新!统信UOS服务器版V20(1070)超越期待

不负广大客户期待&#xff01; 统信UOS服务器版V20&#xff08;1070&#xff09;年度首更 功能更强大、性能更卓越、生态更丰富 助您畅享安全、便捷、高效的产品和服务 新平台&#xff0c;新生态 统信UOS服务器版始终坚持进行生态适配&#xff0c;目前已支持超过百万种兼容…

学习Nginx(五):虚拟主机配置

核心功能 在演示虚拟主机配置之前&#xff0c;来看一下Nginx配置的核心功能说明。 了解配置更多功能&#xff0c;请查看官方说明&#xff1a; http://nginx.org/en/docs/ngx_core_module.html [rootRockyLinux9 conf]# cat nginx.conf # 核心功能&#xff0c;全局配置 # 设置启…

TikTok Shop认知课 打通TK小店全流程

资料 001-先导课.mp4 002-如何用思维导图工具做课程笔记.mp4 003-TTS入驻模式.mp4 004-如何获取店铺.mp4 005-TTS店铺注册全流程,mp4 006-店铺整体运营思路.mp4 007-运营的几个误区.mp4 008-新店起店准备工作,mp4 009-规店铺风控注意事项,mp4 010-店铺基础设置之店铺…

怎么3d立面有些模型不能删除是什么原因怎么解决?---模大狮模型网

在进行3D建模和设计过程中&#xff0c;有时会遇到一些模型无法删除的情况&#xff0c;这可能会导致设计流程受阻&#xff0c;影响工作效率。本文将介绍在3D立面中遇到无法删除模型的原因以及解决方法&#xff0c;帮助您顺利解决这一问题&#xff0c;提高设计效率。 一、模型未正…

第二届视觉语音识别挑战赛 CNVSRC 2024 启动

由 NCMMSC 2024 组委会发起&#xff0c;清华大学、北京邮电大学、海天瑞声、语音之家共同主办的第二届中文连续视觉语音识别挑战赛 CNVSRC 2024 即日启动&#xff0c;诚邀参与报名。 视觉语音识别&#xff0c;也称唇语识别&#xff0c;是一项通过口唇动作来推断发音内容的技术。…

如何在华企盾DSC防泄密系统中设置文件自动加密?

在华企盾DSC系统中设置文件自动加密的过程&#xff0c;简单且用户友好&#xff0c;确保了企业数据的安全&#xff0c;同时不干扰日常工作流程。以下是设置文件自动加密的步骤&#xff1a; 系统安装与配置&#xff1a;确保华企盾DSC数据防泄密系统已经在企业的网络中正确安装和配…

【刷题(3)】双指针

一、双指针问题基础 二、283. 移动零 1 题目 2 解题思路 &#xff08;1&#xff09;遍历数组&#xff0c;把不是零的放到一个新容器中 &#xff08;2&#xff09;遍历结束后&#xff0c;在新容器末尾插入0 &#xff08;3&#xff09;注意&#xff0c;必须在不复制数组的情况…

mobarxtem应用与华为设备端口绑定技术

交换机端口绑定 华为交换机的基础配置与MOBAXTERM终端连接 实验步骤&#xff1a; 一、给每个交换机划分vlan并添加端口 1.单个vlan的划分 2.批量划分vlan 在高端交换机CE6800上批量划分连续编号的VLAN&#xff0c;本例中连续的vlan20到vlan25 [~CE6800]vlan b 20 to 25 3…

使用websocket和服务建立链接慢的原因分析

1、java 项目使用websocketHandler创建websocket服务&#xff0c;在拦截器HttpSessionHandshakeInterceptor中&#xff0c;beforeHandshake日志到的很快&#xff0c;afterHandshake很慢 建立链接一直在连接中 2、原因分析&#xff1a; 找到服务器上的进程名 jps -l 3、使用…

Java开发大厂面试第01讲:String 的特点及其重要的方法都有哪些?

几乎所有的 Java 面试都是以 String 开始的&#xff0c;如果第一个问题没有回答好&#xff0c;则会给面试官留下非常不好的第一印象&#xff0c;而糟糕的第一印象则会直接影响到自己的面试结果&#xff0c;就好像刚破壳的小鹅一样&#xff0c;会把第一眼看到的动物当成自己的母…

处理Mini-ImageNet数据集,用于分类任务

一、Mini-ImageNet数据集介绍 ImageNet 1000类的数据太大了&#xff0c;全部下载大概有100GB左右。 2016年google DeepMind团队从ImagNet数据集中抽取的一小部分&#xff08;大小约3GB&#xff09;制作了Mini-ImageNet数据集&#xff0c;共有100个类别&#xff0c;每个类别有…

人物介绍模板 PSD 源文件免费获取

免费获取 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 链接&#xff1a;https://pan.baidu.com/s/1sq3e6djMdZt76Sh_uqVxWg 提取码&#xff1a;naun

Cache基本原理--以TC3xx为例(1)

目录 1.为什么要使用Cache 2.Memory与Cache如何映射 2.1 地址映射概设 3.小结 为什么要使用Cache&#xff1f;为什么在多核工程里要谨慎使用DCache&#xff1f;Cache里的数据、指令是如何与Memory映射&#xff1f; 灵魂三连后&#xff0c;软件工程师应该都会有模糊的回答&…

数字集成电路物理设计[陈春章]——知识总结与精炼02

第二章 物理设计建库与验证 2.1 集成电路工艺与版图 自行了解&#xff0c;关于闩锁效应可查阅小编之前的文章。 2.2 设计规则检查&#xff08;DRC&#xff09; 定义&#xff1a;晶圆代工厂对各自不同工艺参数制定出满足芯片制造良率的同一工艺层及不同工艺层之间几何尺寸的…