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.mzph.cn/news/829876.shtml

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

相关文章

selenium拉动滚动条

selenium拉动滚动条 # 导包 from selenium import webdriver from time import sleep # 获取浏览器驱动对象 driver webdriver.Edge() # 最大化浏览器 driver.maximize_window() # 隐式等待 driver.implicitly_wait(30) # 打开url url r"C:\Users\黄永生\Desktop\软件测…

计算机找不到vcruntime140_1.dll,无法继续执行代码快速解决方法

vcruntime140_1.dll是一个重要的Windows操作系统中的动态链接库(DLL)文件,它是微软Visual C Redistributable软件包的组成部分。以下是该文件的详细介绍: 名称含义:“vcruntime”代表Visual C Runtime,表明…

static page 项目

static page 项目 作者:不染心 博客地址:https://blog.csdn.net/qq_38234785 源码地址:https://mbd.pub/o/bread/ZpWVlJps 未经允许,不得转载 文档版本v1,还没写完持续更新 一、引言 1. 软件概述和背景 本软件是…

STM32f103 HAL库读保护以及解除

读保护 void Flash_EnableReadProtection(void) {FLASH_OBProgramInitTypeDef OBInit;__HAL_FLASH_PREFETCH_BUFFER_DISABLE();HAL_FLASHEx_OBGetConfig(&OBInit);if(OBInit.RDPLevel OB_RDP_LEVEL_0){OBInit.OptionType | OPTIONBYTE_RDP;OBInit.RDPLevel OB_RDP_LEVEL…

FIR滤波器——DSP学习笔记三(包含一个滤波器设计的简明案例)

​​​​​​ 背景知识 FIR滤波器的特性与优点 可精确地实现线性相位响应(Linear phase response),无相位失真; 总是稳定的,所有极点都位于原点 线性相位FIR滤波器的性质、类型及零点位置 冲击响应满足:奇…

iframe父子页面通信

目录 一、 创建父页面和子页面 父页面(parent.html): 子页面(child.html): 二、 实现父子页面之间的通信 在父页面的 在子页面的 三、扩展:postMessage() 方法的语法: 一、 …

(学习日记)2024.05.03:UCOSIII第五十七节:User文件夹函数概览(uCOS-III->Source文件夹)第三部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这…

【PyTorch】torch.gather() 用法

gather常被用于image做mask的操作中,对哪些地方进行赋值0/1 API: torch.gather — PyTorch 2.2 documentation torch.gather(input, dim, index, outNone) → Tensor gather()的意义: 顾名思义,聚集、集合:gather…

计算机网络组成—物理层

一、物理层基本概念 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 1物理层接口特性 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况电气特性&…

VS2019配合QT5.9开发IRayAT430相机SDK

环境配置 VS2019 QT5.9 编译器版本 MSVC2017_64添加系统环境变量(完毕后重启电脑) 从VS2019中下载Qt插件 从VS2019中添加单个编译组件 上述操作完成后用VS打开工程文件,工程文件地址 : C:\Users\86173\Desktop\IRCNETSDK_W…

python基础知识分享

1程序结构 1.1分支结构 单分支结构: 例如 if 条件表达式: 语句块 双分支结构: 例如 if 条件表达式: 语句块1 else: 语句块2 多分支路结构: 例如: if 条件表达式: if 条件表达式1: 语句块1 elif 条件表达式2: 语句块2 elif 条件表达式3: 语句块3 ....... else: …

Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术

Debezium系列之:Debezium技术专栏第300篇系列文章之打通Debezium实时采集Oracle数据库数据到Kafka集群的技术 一、需求描述二、部署Debezium集群和Oracle连接器三、安装Oracle数据库四、设置具有采集Oracle数据库数据权限的账号1.以系统管理员的身份连接到数据库实例2.创建表空…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…

动手学大模型应用开发--Chapter 06构建个人知识助手

文章目录 前言一、学习目标二、学习知识点概要三、实验步骤 前言 本学习笔记为datawhale动手学大模型应用开发的第六章,学习链接为: https://datawhalechina.github.io/llm-universe/ 一、学习目标 基于LangChain和RAG部署本地大模型。 二、学习知识…

时间序列生成数据,TransformerGAN

简介:这个代码可以用于时间序列修复和生成。使用transformer提取单变量或者多变时间窗口的趋势分布情况。然后使用GAN生成分布类似的时间序列。 此外,还实现了基于prompt的数据生成,比如指定生成某个月份的数据、某半个月的数据、某一个星期的…

代码随想录35期Day27-Java(day26休息)

Day27题目 LeetCode39组合总和 核心思想&#xff1a;经典回溯 class Solution {int sum 0;//记录当前元素List<Integer> path new ArrayList<>();// 记录返回值List<List<Integer>> res new ArrayList<>();public List<List<Integer…

哈夫曼编码---一种无损数据压缩算法

哈夫曼编码是一种无损数据压缩算法&#xff0c;该算法在数据压缩&#xff0c;存储和网络传输等领域广泛引用&#xff0c;对互联网的发展也产生了深远的影响。 大家熟知的数据无损压缩软件&#xff0c;如WinRAR&#xff0c;gzip&#xff0c;bzip&#xff0c;lzw&#xff0c;7-z…

mac M2 配置item2 rzsz

背景 apple m 系列处理器安装的 homebrew 跟 intel 处理器略有不同&#xff0c;其中安装目录的区别&#xff1a; m 系列处理器安装目录为 /usr/local/bin/homebrew intel 处理器安装目录为 /opt/homebrew 问题1: 卡住 产生原因&#xff1a; m 系列使用 brew install lrzs…

linux驱动-CCF-1 provider 注册时钟

CCF: common clock frameword provider 注册时钟分析 1. 待注册 时钟数据 #define _REGISTER(f, s, ...) { .clk_register (bcm2835_clk_register)f, \.supported s, \.data __VA_ARGS__ } #define REGISTER_CLK(s, ...) _REGISTER(&bcm2835_register_clock, \s, …

Vscode——SSH连接不进去服务器的万能解决办法

一、查看当前版本VSCode的commit_id Help -> About -> Commit&#xff08;对应中文版本&#xff1a;帮助 -> 关于 -> 提交&#xff09; 会得到一串数字字母&#xff0c;我们简称 ID。 二、手动下载对应的VSCode包 浏览器输入&#xff1a;https://update.code.v…