Python——Pandas库,超详细教程

Python——Pandas库,超详细教程

前言

1、Python的Pandas是一个基于Python构建的开源数据分析库,它提供了强大的数据结构和运算功能。

2、

  • Series:一维数组,类似于Numpy中的一维array,但具有索引标签,可以保存不同类型的数据,如字符串、布尔值、数字等。
  • DataFrame:二维表格型数据结构,与SQL表或Excel工作表类似,每列可以是不同的数据类型(如数值、字符串或日期),并且具有列名和行索引。DataFrame是Pandas的核心数据结构,提供了丰富的数据操作方法。

接下来我们将逐步介绍他的用法

一、导入Pandas库

        简写为pd

import pandas as pd

二、使用Series,创建一维数组

从0开始存储

三、index查看下标,values查看下标的值

注意:不知道标签和下标的区别请看目录五的解释

1、index的输出类似于range:

        start代表起始标签;stop代表结束标签(不会到这个值,到n-1值);step代表步长。

2、valuses:

        直接查看下标的值,记得是重0开始的值

四、使用index指定标签

注意:可以看到数组中1的标签不是默认值0了,而是标签5,如果利用想输出下标0,这时候会报错,我们要使用到 “iloc“ and ” loc“,请看五

五、iloc and loc的使用

解释:

1、iloc是原下标,也就是默认值,计算机的记忆

2、loc是修改过的下标,我们把他叫作标签,标签是由我们自主给的,计算机并不会自己产生

可以看到计算机的下标1的值是2

可以看到我们给的标签1的值是5

六、创建对象

1、这里的我们所理解的键其实就是数据的标签,大部分的人可能会理解为这里是一个字典或者一个数组,其实都不是,是一个一维数据

2、什么是键?如果不知道,就需要回头学习python基础了。

        键是字典的一个解释,前键后值,称为键值对,如下的:“键”:值

3、修改数据

使用loc,找标签“小张”让他的值等于95,可以看到被修改了

4、筛选数据

这里的&就是python,and的意思

七、两个数据相加、相减、相乘、相除

1、相加——add

可以看到需要链接s1,如果没有s1,那会导致数据相加错误,出现NaN;

这个时候,我们应该使用add:

        在s1的基础上add(s2,fill_value = “如果出现没有值的情况,以0代替”)

2、相减——sub

3、相乘——mul

4、相除——div

八、求最大值、最小值、求和值、平均值

九、describe() —— 数据分析方法

十、apply() —— 定义函数判断数据

apply()对数据批量处理

十一、DataFrame —— 创建二维数组

十二、修改标签

标签名要统一,否则会报错;但是可以缺少,但数据也要缺少,一一对应

特别:标签会自动排序好

十二、查看标签(行属性)

十三、查看列属性

十四、查看数据

十五、数据颠倒——行列调换

十六、提取数据(列)

1、查看班级数据

2、查看成绩数据

3、查看学号和成绩,这里我们需要再加一个【】,如果不加会报错

十七、提取数据(行)

注意:loc和iloc的区别

十八、切片操作

1、标签切片

2、下标切片

        注意:3是终止,并不会执行,如果想小红到小丽,需要 [1:4]

3、行列切片——标签

4、行列切片——下标

十九、筛选——判断、提取数据

1、单单判断数据,输出布尔值

2、判断完数据并提取数据,输出数据

二十、查看前几行数据——数据量庞大可使用

        注意:如果head()不输入任何的值,那他的默认值为5,输出前5行数据

二十一、drop搭配axis用法

我们先导入要使用的数据

        添加考试4的数据

drop:就是删除的意思

axis:用来指定是行还是列

可以看到删除了行的002和004

可以看到删除了列的考试2和考试4

二十二、两个数据相加

1、student的数据请看目录二十一

2、先定于一个数据bonus,让他们两个相加

3、注意:运行一次相加一次;标签要一一对应,否则会导致数据错误。

相加完之后不会改变原数据,如果需要改变原数据,全部都是要重新赋值

实现重新赋值,以考试4位例

二十三、案例实操——求出平均值

mean(axis=1):求平均值每一行。

这里可能会导致理解冲突,上面解释axis=0代表行,axis=1代表列,但是mean(axis=1)为什么代表的是行???请看下面的解释

可以理解为如果被包含,则方向相反。

        行对列操作

        列对行操作

二十四、案例实操——筛选出第二大的数据

1、loc[:,"考试1":"考试3"] 其实就是 loc["001":"006","考试1":"考试3"]

2、lambda x:定义匿名函数x

3、np.sort(x):使用numpy库的sort方法,进行升序

4、np.sort(x)[-2]:升序完后提取倒数第二个值,也就是第二大的值,然后返回匿名函数x

Read more

【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析

【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析

前言         在 Linux 系统中,信号是进程间异步通信的 “信使”,而 “信号产生” 则是这个通信过程的起点。无论是我们熟悉的Ctrl+C终止进程,还是程序运行中出现的段错误、定时器超时,本质上都是信号被触发产生的过程。很多开发者只知道 “信号能终止进程”,却不清楚信号到底是怎么来的 —— 是用户操作触发的?还是系统自动产生的?不同场景下信号的产生机制有何不同?         本文将基于 Linux 内核原理,结合 5 种核心信号产生场景(终端按键、系统命令、函数调用、软件条件、硬件异常),用通俗的语言,带你全方位揭秘信号产生的底层逻辑,让你不仅 “知其然”,更 “知其所以然”。下面就让我们正式开始吧! 一、信号产生的核心本质:谁在 “发送” 信号?         在深入具体场景之前,我们先明确一个核心问题:信号是由谁产生并发送的?答案是操作系统(OS)。         无论信号的触发源头是用户按键、函数调用还是硬件异常,

By Ne0inhk
Flutter 三方库 dloader 的鸿蒙化适配指南 - 掌握极简且高性能的文件离线技术、助力鸿蒙应用构建稳健的后台下载与资源调度系统

Flutter 三方库 dloader 的鸿蒙化适配指南 - 掌握极简且高性能的文件离线技术、助力鸿蒙应用构建稳健的后台下载与资源调度系统

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 dloader 的鸿蒙化适配指南 - 掌握极简且高性能的文件离线技术、助力鸿蒙应用构建稳健的后台下载与资源调度系统 前言 在 OpenHarmony 鸿蒙应用向大容量、多资源协同(如:大型游戏素材更新、离线地图包下载、企业级加密文档分发)进化的过程中,单纯的 HttpClient 请求已无法满足用户对“进度可见性”、“后台持续性”以及“异常自愈”的渴望。dloader 作为一个专为 Dart 设计的流式下载组件,旨在通过一套极为精简的 DSL(领域特定语言),将复杂的多线程分片、百分比计算及缓存校验逻辑封装在黑盒之中。本文将探讨如何在鸿蒙端利用 dloader 打造“丝滑且可信”的资源获取体验。 一、原原理分析 / 概念介绍 1.1 基础原理

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 dart_appwrite 将鸿蒙应用极速接入强大的开源后端即服务(BaaS 最佳实践)

Flutter for OpenHarmony: Flutter 三方库 dart_appwrite 将鸿蒙应用极速接入强大的开源后端即服务(BaaS 最佳实践)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用开发时,后端基础设施往往是中小型开发者或初创团队的拦路虎。购买服务器、部署数据库、集成 OAuth 登录、管理文件云存储……这一系列工作不仅耗时,还容易在安全性上出现漏洞。 dart_appwrite 是连接 OpenHarmony 应用与 Appwrite(类似于 Firebase 的开源替代品)的官方桥梁。它为鸿蒙开发者提供了全套的后端 API,让你在短短几分钟内就能为鸿蒙应用增加账号系统、实时数据库和云存储功能,彻底实现“一人完成全栈开发”。 一、鸿蒙-Appwrite 云端架构图 该库作为桥梁,将鸿蒙设备的请求安全分发到后端各个功能模块。 鸿蒙 App (Dart SDK) Appwrite Client Account (身份验证) Databases (文档型数据库) Storage

By Ne0inhk
使用LLaMA-Factory的数据集制作流程与训练微调Qwen3及评估

使用LLaMA-Factory的数据集制作流程与训练微调Qwen3及评估

文章目录 * 1 LLaMA-Factory环境安装 * 2 数据集制作 * 3 模型下载 * 4 使用命令进行训练 而非webui * 训练命令 * 导出模型命令 * 5 训练后的Qwen3模型评估 * 6 训练后的Qwen3模型进行测试 AutoDL中的LLaMA-Factory 使用 训练微调 llame3数据集 cmmlu 使用LLaMA-Factory微调训练Qwen2-VL-7B/Qwen2.5-VL-7B与视觉大模型数据集制作流程与训练评估 b站:https://www.bilibili.com/video/BV1KceNzoE87/ 本文介绍了使用LLaMA-Factory框架微调Qwen3-4B-Instruct-2507模型的完整流程。内容包括:1) 环境安装与WebUI配置;2) 数据集制作与格式要求;3) 通过ModelScope下载Qwen3模型;4) 使用命令行进行LoRA微调训练,展示了训练参数与GPU使用情况;5) 模型导出方法;6) 最后对微调后的模型进行评估。整个过程在6块GPU上约15分钟完成训练,并提供了训练

By Ne0inhk