Python AI库 Pandas的常见操作的扩展知识

Python AI库 Pandas的常见操作的扩展知识

本文默认读者具备以下技能:

  • 熟悉python基础知识,vscode或其它编辑工具
  • 熟悉表格文件的基本操作
  • 具备自主扩展学习能力
    在这里插入图片描述

前文中对Pandas的数据结构以及基础操作做了介绍,本文中会在前文的基础上,对常见的操作进行拓展,并举例说明。

一、数据读取与查看

Pandas提供了多种方法读取不同格式的数据文件,例如CSV、Excel等。读取数据后,可以通过简单的函数查看数据的整体情况。

import pandas as pd# 读取CSV文件
df = pd.read_csv('data.csv')# 查看数据的前5行
print(df.head())# 查看数据的基本信息,包括列名、数据类型、非空值数量等
print(df.info())

扩展信息read_csv函数支持多种参数,如header指定列名所在的行,delimiter指定分隔符等。head函数默认显示前5行,但可以通过传递参数来指定显示的行数。

二、数据筛选

Pandas提供了灵活的条件筛选功能,可以根据条件过滤出满足特定条件的数据行。

# 筛选年龄大于30的数据行
filtered_df = df[df['age'] > 30]# 使用逻辑运算符进行复合条件筛选
filtered_df_complex = df[(df['age'] > 30) & (df['gender'] == 'male')]print(filtered_df_complex)

扩展信息:除了使用列名和比较运算符进行筛选,Pandas还支持使用isin函数进行多值筛选,以及使用query函数进行更复杂的查询。

三、数据排序

Pandas允许我们根据一列或多列对数据进行排序。

# 根据年龄列进行升序排序
sorted_df = df.sort_values(by='age', ascending=True)# 根据多列进行排序,先按年龄升序,再按姓名降序
sorted_df_multi = df.sort_values(by=['age', 'name'], ascending=[True, False])print(sorted_df_multi)

扩展信息sort_values函数支持ascending参数指定排序方式(升序或降序),默认为升序。同时,也可以通过inplace参数选择是否直接修改原DataFrame。

四、数据分组与聚合

Pandas提供了groupby功能,可以对数据进行分组,并对每个组执行聚合操作。

# 根据性别列分组,并计算每组的平均年龄
grouped_df = df.groupby('gender')['age'].mean()# 展示分组后的结果
print(grouped_df)

扩展信息:除了计算平均值,groupby还可以与许多聚合函数一起使用,如sumcountmaxmin等。同时,还可以使用agg函数执行多个聚合操作。

五、缺失数据处理

Pandas提供了处理缺失数据(NaN)的功能,包括检测、填充和删除等操作。

# 检测缺失值
print(df.isnull().sum())# 填充缺失值,例如使用列的平均值填充年龄列的缺失值
df['age'].fillna(df['age'].mean(), inplace=True)# 删除含有缺失值的行
df_dropna = df.dropna()print(df_dropna)

扩展信息fillna函数支持多种填充方式,如使用固定值、前一个有效值、后一个有效值等。同时,dropna函数还支持指定轴(行或列)进行删除操作。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS通过命令行开启关闭向日葵远程控制的后台服务

categories: [Tips] tags: MacOS Tips 写在前面 经常有小伙伴问我电脑相关的问题, 而解决问题的一个重要途径就是远程了. 关于免费的远程工具我试过向日葵和 todesk, 并且主要使用向日葵, 虽然 MacOS 下要设置很多权限, 但是也不影响其丝滑的控制. 虽然用着舒服, 但是向日葵…

arm架构,django4.2.7适配达梦8数据库

【Python相关包版本信息】 Django 4.2.7 django-dmPython 3.1.7 dmPython 2.5.5 【达梦数据库版本】 DM Database Server 64 V8 DB Version: 0x7000c 适配过程中发现的问题如下: 错误一:d…

[图解]软件开发中的糊涂用语-04-为什么要追究糊涂用语

0 00:00:00,030 --> 00:00:05,620 今天呢,我们来说一个为什么要追究糊涂用语的问题 1 00:00:06,310 --> 00:00:06,548 2 00:00:06,548 --> 00:00:11,077 大家知道我们前些天都发了好几个视频 3 00:00:11,077 --> 00:00:13,461 追究这个糊涂用语 4 00…

视频批量下载工具

1、功能演示 该工具实现了某个人主页视频批量下载,最多支持一次下载50个视频,这50个选取的是最新发布的50个视频,视频为高清的1080p,并直接将视频保存到本地。 2、软件使用介绍 2.1 解压 拿到工具软件后,首先是对软件…

《HCIP-openEuler实验指导手册》1.4 Apache MPM工作模式调整

MPM介绍 二、配置步骤 查看MPM当前工作模式 方法一: httpd -M | grep mpm方法二: 浏览器访问:http://IP:端口/server-status 方法三: cat /etc/httpd/conf.modules.d/00-mpm.conf查看 LoadModule mpm_event_module modules/mo…

第三节课,后端登录【1】

一、总任务 二、登录接口 get 请求,有缺陷,长度有限制 三、登录逻辑 四、代码书写位置 4.1 编写业务逻辑的位置 五、写代码 5.1 代码1 5.1.1 细节 按 CtrlAltShiftL ,快速格式化 5.1. 2 自动生成接口参数 先/** 再回车 效果图 5.2 按 alt enter …

【C语言】贪吃蛇详解(附源码)

一、贪吃蛇实现效果 【C语言】贪吃蛇(控制台) 二、源码 🎈🎈🎈Snake 残风也想永存/C语言项目 - 码云 - 开源中国 (gitee.com)🎈🎈🎈 三、如何使用C语言去实现一个贪吃蛇&#xff1f…

Three.js和Cesium.js中坐标

在了解Three.js和Cesium.js前先了解并弄清楚图形学关于空间的基本概念流程: 计算机图形学 图形学中涉及到多个坐标空间,这些空间之间的变换是图形渲染中的核心部分。下面是一些常见的图形学空间及其变换顺序: 对象空间(Object Sp…

分类神经网络1:VGGNet模型复现

目录 分类网络的常见形式 VGG网络架构 VGG网络部分实现代码 分类网络的常见形式 常见的分类网络通常由特征提取部分和分类部分组成。 特征提取部分实质就是各种神经网络,如VGG、ResNet、DenseNet、MobileNet等。其负责捕获数据的有用信息,一般是通过…

ASP.NET基于WEB的选课系统

摘要 设计本系统的目的是对选课信息进行管理。学生选课系统维护模块主要完成的是系统管理与维护功能。课题研究过程中,首先对系统管理模块进行了详尽的需求分析,经分析得到系统管理模块主要完成如下的功能:用户基本信息、选课信息的录入,查看…

Spring Boot 如何实现缓存预热

Spring Boot 实现缓存预热 1、使用启动监听事件实现缓存预热。2、使用 PostConstruct 注解实现缓存预热。3、使用 CommandLineRunner 或 ApplicationRunner 实现缓存预热。4、通过实现 InitializingBean 接口,并重写 afterPropertiesSet 方法实现缓存预热。 1、使用…

华为先进芯片麒麟9010效能再升级,挑战新高度 | 百能云芯

根据最新的彭博资讯报道,华为再次引领了智能手机行业的先进技术,其最新发布的Pura 70系列智能手机搭载了由中芯国际生产的麒麟9010高阶处理器。这一消息再次证明了华为在芯片设计和生产领域的持续创新能力,并且表明华为对于提升智能手机性能和…

【机器学习】集成学习---Bagging之随机森林(RF)

【机器学习】集成学习---Bagging之随机森林(RF) 一、引言1. 简要介绍集成学习的概念及其在机器学习领域的重要性。2. 引出随机森林作为Bagging算法的一个典型应用。 二、随机森林原理1. Bagging算法的基本思想2. 随机森林的构造3. 随机森林的工作机制 三…

开源文本嵌入模型M3E

进入正文前,先扯点题外话 这两天遇到一个棘手的问题,在用 docker pull 拉取镜像时,会报错: x509: certificate has expired or is not yet valid 具体是下面👇这样的 rootDS918:/volume2/docker/xiaoya# docker pul…

一款神奇的地理数据可视化python库

在地理信息系统(GIS)和地理数据可视化领域,Python的易用性和强大的库支持使其成为处理地理数据的理想选择之一。今天我们介绍Cartopy库,它为地理数据可视化提供了强大的支持。无论是对于GIS专业人士还是对地理数据可视化感兴趣的初…

同事上班这样摸鱼,我坐边上咋看他都在专心写代码啊

我边上有个同事,我坐他边上,但是每天看着他都眉头紧锁,忙的不亦乐乎,但终于有一天,我发现了他上班摸鱼的秘诀。 我劝你千万不要学会这4招,要不就该不好好上班了。 目录 1 上班看电影? 2 上班…

<计算机网络自顶向下> Internet Protocol(未完成)

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号(IPV4 0100, IPV6 0110) headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这…

pytest测试基础

assert 验证关键字 需要pahton版本大于3.6,因为有个工具pip3;因为做了映射,所以下面命令pip3即pip pip install -U pytest -U参数可选,是如果已安装可更新。 如果上述demo变化 通过验证代码,测试环境没问题。…

接口测试-笔记

Date 2024年4月23日21:19:51 Author KarrySmile 1. 前言 因为想更加规范地开发接口,同时让自己测试接口的时候更加高效,更好地写好接口文档。所以学习黑马的《接口自动化测试》课程。链接:黑马程序员软件测试接口自动化测试全套视频教程&a…

MATLAB 运算符

MATLAB 运算符 运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。MATLAB设计为主要在整个矩阵和数组上运行。因此,MATLAB中的运算符既可以处理标量数据,也可以处理非标量数据。MATLAB允许以下类型的基本运算- 算术运算符 关系运算符…