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

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)

打印结果:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深化市场布局与产业链整合,三清互联以创新为公司发展赋能

近年来&#xff0c;我国大力发展现代化电力体系&#xff0c;并不断推进智能电网的发展&#xff0c;电力物联网作为支撑电力行业数字化发展的关键基础设施&#xff0c;迎来了快速发展黄金时期。作为电力物联网领域领先企业之一&#xff0c;三清互联凭借敏锐的市场洞察力和技术创…

Linux之函数应用实例--加法器

一、创建一个对2个整数求和的加法器 首先&#xff0c;定义了一个名为 adder 的 Bash 函数&#xff0c;该函数接受两个参数 $1 和 $2 并输出它们的和。 function adder { echo $[ $1$2 ] } 注意&#xff1a; function 关键字是可选的。在 Bash 中&#xff0c;可以简单地使…

虚拟化技术 在vCenter Server创建数中心、添加主机

一、实验内容 1.安装Flash 2.在vCenter Server创建数中心、添加主机 二、实验主要仪器设备及器材 1.安装有64位Windows操作系统的台式电脑或笔记本电脑&#xff0c;建议4C8G或以上配置 2.在Windows Server 2008 R2已安装vCenter Server 3.Adobe Flash Player 12.0.0.70.e…

8.微服务项目结合SpringSecurity项目结构

项目结构 acl_parent:创建父工程用来管理依赖版本 common service_base&#xff1a;工具类 spring_security: Spring Security相关配置 infrastructure api_gateway: 网关 service service_acl: 实现权限管理功能代码 acl_parent的pom.xml <?xml version"1.0" …

【Unity-Timeline进度条显示与拖动】

利用Unity 自带的Timeline 可轻松实现场景的巡检漫游效果&#xff0c; 基本使用参考以下链接: Unity中的Timeline Unity学习笔记——TimeLine的简单使用方法&#xff08;一&#xff09; 这里主要介绍如何通过滑动条控制播放的进度&#xff0c;效果图附上。 话不多说&#xff…

thinkphp8扩展think-swoole4.0-事件监听代码

首先服务端配置监听 swoole.php <?phpreturn [http > [enable > true,host > 0.0.0.0,port > 8000,worker_num > swoole_cpu_num(),options > [],],websocket > [enable > true,handler > \think\swo…

2024/5/15 英语每日一段

Many pet owners are now turning to pet insurance policies to avoid higher vet bills should something bad happen unexpectedly. But Carlson said that preventive veterinary care—like vaccination, parasite control and weight management—is "the best way …

SAP揭秘者- SAP工单ATP检查专题之工单ATP检查的需求背景及相关操作

文章摘要&#xff1a; 从本章开始&#xff0c;我将给大家详细地介绍SAP生产订单/工单 ATP检查的相关的配置和操作&#xff0c;以及在项目上具体是怎么使用的&#xff0c;包含怎么应对实际项目中的一些疑难点需求。 ATP检查会应用到MM,SD,PP三个模块中&#xff0c;这里我们主要…

队列的实现与OJ题目解析

"不是你变优秀了, 那个人就会喜欢你." 文章索引 前言1. 什么是队列2. 队列的实现3. OJ题目解析4. 总结 前言 感情可以培养是个伪命题. 如果有足够多的时间和爱, 就可以让另一个人爱上你的话, 那谁和谁都可以相爱了. 爱情之所以会让人死去活来, 是因为, 答案都写在了…

【干货】西班牙跨境电商Miravia测评开店可以销售哪些产品类目?如何精养买家号矩阵补单?

西班牙(Reino de Espaa,,Spain)地理位置优越&#xff0c;位于欧洲、非洲和中东的交汇处。入驻的主流电商平台有亚马逊&#xff0c;阿里巴巴速卖通&#xff0c;Ebay&#xff0c;TikTok等&#xff0c; 同时还有西班牙本土电商Mediamarkt&#xff0c;El Corte Ingls&#xff0c;c…

彩虹pdm系统的BOM协同管理方案

彩虹pdm系统的BOM协同管理方案 彩虹PDM系统的BOM协同管理方案旨在为企业提供高效、准确且协同的物料清单&#xff08;Bill of Materials&#xff0c;简称BOM&#xff09;管理解决方案。以下是该方案的详细介绍&#xff1a; 一、BOM数据全面管理 彩虹PDM系统以产品结构为中心…

中药保护品种目录数据库

中药作为中华民族的瑰宝&#xff0c;不仅在中国有着悠久的历史和深厚的文化底蕴&#xff0c;在国际上也逐渐受到重视。为了保护中药品种的独特性和促进其可持续发展&#xff0c;中国政府实施了中药品种保护制度&#xff0c;据药融云数据库显示&#xff0c;中药保护品种数量多达…

创新方便的在线评审软件——原理图设计的利器

概述 在当今数字化时代&#xff0c;原理图设计已成为许多领域中不可或缺的一环。然而&#xff0c;对于设计师们来说&#xff0c;如何高效地进行评审却是一个挑战。 传统的评审方式往往需要多人齐聚一堂&#xff0c;耗时耗力。设计师们需要亲自填写评审意见&#xff0c;这不仅…

Unity WebGL全屏显示

一、删除footer节点 二、删除最下面点击事件绑定 修改Canvas宽高 canvas.style.width "960px"; canvas.style.height "600px"; 改成 canvas.style.width document.documentElement.clientWidth"px"; canvas.style.height document.document…

JavaScript-BOM编程

BOM对象 1 什么是BOM2 window对象的常见属性3 window对象的常见方法4 通过BOM编程控制浏览器行为演示5 通过BOM编程实现会话级和持久级数据存储 1 什么是BOM BOM是Browser Object Model的简写&#xff0c;即浏览器对象模型。 BOM由一系列对象组成&#xff0c;是访问、控制、修…

Coursera吴恩达深度学习专项课程01: Neural Networks and Deep Learning 学习笔记 Week 02

Week 02 of Neural Networks and Deep Learning Course Certificate 本文是学习 https://www.coursera.org/learn/neural-networks-deep-learning 这门课的笔记 Course Intro 文章目录 Week 02 of Neural Networks and Deep LearningLearning Objectives [1] Logistic Regres…

LINUX 精通 1——2.1.1 网络io与io多路复用select/poll/epoll

LINUX 精通 1 day12 20240509 算法刷题&#xff1a; 2道高精度 耗时 107min 课程补20240430 耗时&#xff1a;99 min day 13 20240512 耗时&#xff1a;200min 课程链接地址 前言 杂 工作5-10年 够用 费曼&#xff1a;不要直接抄&#xff0c;自己写&#xff1b;不要一个…

抖音爆火的QQ价格评估源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 抖音爆火的QQ价格评估前端源码 最近抖音很火直播给别人测qq价值多少&#xff0c;这个源码只有前端&#xff0c; 包含激活码验证页&#xff0c;评估页&#xff0c;自行研究吧 二、效…

AI预测福彩3D采取887定位大底=23策略+杀断组+杀组选+杀和尾+杀和值012缩水测试5月15日预测第1弹

昨天与一位玩3D的彩友通过视频直播的形式聊了下&#xff0c;受益匪浅&#xff0c;给我提供了一些比较有价值的建议&#xff0c;比如&#xff0c;对于887的定位策略&#xff0c;方向是没问题的&#xff0c;但是8873的话&#xff0c;还是缺乏一定的命中率&#xff0c;如果88723&a…