当前位置: 首页 > news >正文

第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础

以下是一个为期 **1 个月(30 天)**的详细学习计划,精确到每天的学习内容和练习作业,帮助你系统地掌握 NumPyPandasMatplotlib 的核心功能。


第 1 周:NumPy 基础

Day 1:NumPy 简介与数组创建

  • 学习内容
    • 安装 NumPy:pip install numpy
    • NumPy 的核心概念:数组(ndarray)、形状(shape)、数据类型(dtype)。
    • 创建数组:np.array()np.zeros()np.ones()np.arange()np.linspace()
  • 练习作业
    1. 创建一个包含 10 个元素的数组,元素值为 0 到 9。
    2. 创建一个 3x3 的全 1 矩阵。
    3. 创建一个从 0 到 1 的等间隔数组,包含 5 个元素。

Day 2:数组索引与切片

  • 学习内容
    • 数组索引:单元素索引、多元素索引。
    • 数组切片:基本切片、步长切片。
    • 布尔索引。
  • 练习作业
    1. 创建一个 5x5 的随机数组,提取第 2 行和第 3 列的元素。
    2. 提取数组中大于 5 的元素。
    3. 使用切片获取数组的前 3 行和后 2 列。

Day 3:数组形状操作

  • 学习内容
    • 形状操作:reshape()flatten()transpose()
    • 数组拼接:np.concatenate()np.stack()
  • 练习作业
    1. 将一个 1x12 的数组转换为 3x4 的矩阵。
    2. 将两个 2x2 的数组按行和列拼接。
    3. 对一个 3x3 的数组进行转置操作。

Day 4:数组数学计算

  • 学习内容
    • 基本运算:加减乘除、矩阵乘法(np.dot())。
    • 统计函数:np.sum()np.mean()np.std()
  • 练习作业
    1. 计算一个数组的平均值和标准差。
    2. 对两个数组进行矩阵乘法。
    3. 计算数组中每个元素的平方。

Day 5:广播机制

  • 学习内容
    • 广播机制的概念和应用。
  • 练习作业
    1. 创建一个 3x3 的数组和一个 1x3 的数组,使用广播机制进行加法运算。
    2. 创建一个 4x1 的数组和一个 1x4 的数组,使用广播机制进行乘法运算。

Day 6:综合练习

  • 练习作业
    1. 创建一个 5x5 的随机数组,计算每行的最大值和每列的最小值。
    2. 对两个数组进行广播操作,理解广播机制。

Day 7:复习与总结

  • 复习本周内容,完成未完成的练习作业。

第 2 周:Pandas 基础

Day 8:Pandas 简介与数据结构

  • 学习内容
    • 安装 Pandas:pip install pandas
    • Pandas 的核心数据结构:SeriesDataFrame
  • 练习作业
    1. 创建一个包含 5 个元素的 Series。
    2. 创建一个 3x3 的 DataFrame,列名为 A、B、C。

Day 9:数据读取与写入

  • 学习内容
    • 读取 CSV、Excel 文件:pd.read_csv()pd.read_excel()
    • 写入文件:to_csv()to_excel()
  • 练习作业
    1. 读取一个 CSV 文件并查看前 5 行数据。
    2. 将 DataFrame 写入 Excel 文件。

Day 10:数据查看与选择

  • 学习内容
    • 数据查看:head()tail()info()describe()
    • 数据选择:列选择、行选择、条件筛选。
  • 练习作业
    1. 查看 DataFrame 的基本信息。
    2. 选择 DataFrame 的某一列和某一行。
    3. 根据条件筛选数据。

Day 11:数据清洗

  • 学习内容
    • 处理缺失值:dropna()fillna()
    • 去重:drop_duplicates()
  • 练习作业
    1. 删除包含缺失值的行。
    2. 用均值填充缺失值。
    3. 删除重复的行。

Day 12:数据分析

  • 学习内容
    • 分组聚合:groupby()agg()
    • 数据合并:merge()concat()
  • 练习作业
    1. 对数据进行分组并计算每组的平均值。
    2. 合并两个 DataFrame。

Day 13:数据透视表

  • 学习内容
    • 数据透视表:pivot_table()
  • 练习作业
    1. 创建一个数据透视表,计算每个类别的总和。

Day 14:复习与总结

  • 复习本周内容,完成未完成的练习作业。

第 3 周:Matplotlib 基础

Day 15:Matplotlib 简介与基本绘图

  • 学习内容
    • 安装 Matplotlib:pip install matplotlib
    • 基本绘图:plt.plot()
  • 练习作业
    1. 绘制一个简单的折线图。

Day 16:散点图与柱状图

  • 学习内容
    • 散点图:plt.scatter()
    • 柱状图:plt.bar()
  • 练习作业
    1. 绘制一个散点图。
    2. 绘制一个柱状图。

Day 17:直方图与饼图

  • 学习内容
    • 直方图:plt.hist()
    • 饼图:plt.pie()
  • 练习作业
    1. 绘制一个直方图。
    2. 绘制一个饼图。

Day 18:图表美化

  • 学习内容
    • 添加标题、标签:plt.title()plt.xlabel()plt.ylabel()
    • 添加图例:plt.legend()
  • 练习作业
    1. 绘制一个折线图,添加标题、标签和图例。

Day 19:多图绘制

  • 学习内容
    • 子图:plt.subplot()
    • 多图布局:plt.subplots()
  • 练习作业
    1. 使用子图绘制多个图表。

Day 20:综合练习

  • 练习作业
    1. 绘制一个包含折线图、柱状图和散点图的综合图表。

Day 21:复习与总结

  • 复习本周内容,完成未完成的练习作业。

第 4 周:综合实战

Day 22-30:数据分析项目

  • 项目目标:结合 NumPy、Pandas 和 Matplotlib 完成一个完整的数据分析项目。
  • 项目步骤
    1. 数据获取:从 CSV、Excel 或 API 获取数据。
    2. 数据清洗:处理缺失值、去重、数据类型转换。
    3. 数据分析:使用 Pandas 进行数据分组、聚合、透视表分析。
    4. 数据可视化:使用 Matplotlib 绘制图表,展示分析结果。
  • 项目示例
    • 分析某电商平台的销售数据,计算每个月的销售额并绘制趋势图。
    • 分析某城市的天气数据,绘制温度变化图。

通过这个详细的学习计划,你将在一个月内掌握 NumPy、Pandas 和 Matplotlib 的核心功能,并能够独立完成数据处理和分析任务。加油!

相关文章:

第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础

以下是一个为期 **1 个月(30 天)**的详细学习计划,精确到每天的学习内容和练习作业,帮助你系统地掌握 NumPy、Pandas 和 Matplotlib 的核心功能。 第 1 周:NumPy 基础 Day 1:NumPy 简介与数组创建 学习内…...

安全测试|SSRF请求伪造

前言 SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…...

Flink提交pyflink任务

1.官方文档: flink1.14:https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/cli/#submitting-pyflink-jobs flink1.18:https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/cli/#submitting-pyflink-jobs 2.提…...

对称算法模式之CTR

Note 计数器模式,通过加密递增计数器生成密钥流,后密钥流与明文分组异或得密文分组可并行性进行加密或者解密,性能较高明文可以是任意长度,不需要填充可以直接加密或解密指定块,块与块间不具有依赖关系 参数说明 任…...

Map 和 Set

目录 一、搜索 概念: 模型: 二、Map ​编辑 1.Map 实例化: 2. Map的常见方法: 3.Map的常见方法演示: 1. put(K key, V value):添加键值对 3. containsKey(Object key):检查键是否存在 4.…...

STOMP协议

引用:https://blog.csdn.net/print_helloword/article/details/142597122 什么是STOMP协议 STOMP (simple text oriented messaging protocol): 一种简单的,基于文本的消息传输协议,,,最初是为了解决在消息队列中&am…...

手动埋点的demo

上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>埋点示例</title> </head><b…...

大模型开发实战篇5:多模态--文生图模型API

大模型文生图是一种基于人工智能大模型的技术&#xff0c;能够将自然语言文本描述转化为对应的图像。目前非常火的AI大模型赛道&#xff0c;有很多公司在此赛道竞争。详情可看这篇文章。 今天我们来看下如何调用WebAPI来实现文生图功能。我们一般都会将OpenAI的接口&#xff0…...

【大模型】DeepSeek 高级提示词技巧使用详解

目录 一、前言 二、DeepSeek 通用提示词技巧 2.1 DeepSeek 通用提示词技巧总结 三、DeepSeek 进阶使用技巧 3.1 DeepSeek一个特定角色的人设 3.1.1 为DeepSeek设置角色操作案例一 3.1.2 为DeepSeek设置角色操作案例二 3.2 DeepSeek开放人设升级 3.2.1 特殊的人设&#…...

【第14章:神经符号集成与可解释AI—14.2 可解释AI技术:LIME、SHAP等的实现与应用案例】

在这里插入图片描述 凌晨三点的ICU病房,值班医生李主任盯着AI辅助诊断系统的红色警报——这套准确率高达95%的深度学习系统,突然建议对一位肾衰竭患者进行肝移植手术。正当医疗组陷入混乱时,李主任打开了系统的"解释模式",屏幕上立即跳出SHAP分析图:模型误将CT…...

Python中使用Minio实现图像或视频文件的存储

目录 一、Minio的基本介绍1.Minio是什么2.Minio的优势 二、使用步骤1.启动Minio2.创建桶3.在Python中使用Minio3.1安装并导入minio包3.2创建mino_utils工具类 三、操作演示1.引入minio_utils工具类2.上传视频文件3.获取视频文件 总结 一、Minio的基本介绍 1.Minio是什么 Mini…...

Kubernetes-master 组件

以下是Kubernetes Master Machine的组件。 etcd 它存储集群中每个节点可以使用的配置信息。它是一个高可用性键值存储&#xff0c;可以在多个节点之间分布。只有Kubernetes API服务器可以访问它&#xff0c;因为它可能具有一些敏感信息。这是一个分布式键值存储&#xff0c;所…...

人形机器人 - 仿生机器人核心技术与大小脑

以下是针对仿生机器人核心技术的结构化总结,涵盖通用核心技术与**“大脑-小脑”专用架构**两大方向: 一、机器人通用核心技术 这些技术是仿生机器人实现功能的基础,与生物体的“身体能力”对应: 1. 感知与交互技术 多模态传感器融合 视觉:3D视觉(如RGB-D相机)、动态目…...

OpenAI 快速入门

文章来源&#xff1a;OpenAI开发者平台 | OpenAI开发文档|OpenAI中文官方文档|ChatGPT中文版|ChatGPT教程 开发人员快速入门 了解如何发出您的第一个 API 请求。 OpenAI API 为最先进的 AI 模型提供了一个简单的接口&#xff0c;用于自然语言处理、图像生成、语义搜索和语音识…...

nginx 实战配置

一、配置一个默认80端口的&#xff0c;静态页面&#xff0c;路径是path1。 http://192.168.0.111/path1 &#xff0c; /path1路径指向linux的/data/index1.html vi /data/nginx-1.24.0/conf/nginx.conf 文件添加以下配置 location /path1 { alias /data/…...

WebMvcConfigurer 介绍

WebMvcConfigurer 介绍 1. 什么是WebMvcConfigurer 介绍2. WebMvcConfigurer接口常用的方法3. 使用WebMvcConfigurer实现跨域4. 使用WebMvcConfigurer配置拦截器5. 使用WebMvcConfigurer配置静态资源5.1 配置外部目录&#xff08;本地文件系统&#xff09;详细解释 6. 使用 Web…...

java05(类、泛型、JVM、线程)---java八股

类 Java中有哪些类加载器 JDK自带有三个类加载器&#xff1a;bootstrap ClassLoader、ExtClassLoader、AppClassLoader。 ●BootStrapClassLoader是ExtClassLoader的父类加载器&#xff0c;默认负责加载%JAVA_HOME%lib下的jar包和class文件。 ●ExtClassLoader是AppClassLoade…...

Python+appium实现自动化测试

目录 一、工具与环境准备 二、开始测试 1、插上手机&#xff0c;打开usb调试&#xff0c;选中文件传输&#xff0c;我这里用华为手机为例 2、启动Appium Server GUI​编辑 3、启动 Inspector Session 4、录制脚本 使用Python和Appium进行自动化测试是一种常见的移动应用…...

Unity中如何判断URL是否为RTSP或RTMP流

技术背景 如何在Unity中判断一个字符串URL是否是RTSP或RTMP流。首先&#xff0c;RTSP通常以“rtsp://”开头&#xff0c;而RTMP则是“rtmp://”或者有时是“rtmps://”用于安全连接。 接下来&#xff0c;如何在C#中进行字符串的检查。最简单的方法应该是检查URL是否以这些协议…...

基于角色访问控制的UML 表示02

一个用户可以成为很多角色的成员&#xff0c;一个角色可以有许多用户。类似地&#xff0c;一个角色可以有多个权限&#xff0c;同一个权限可以被指派给多个角色。每个会话把一个用户和可能的许多角色联系起来。一个用户在激发他或她所属角色的某些子集时&#xff0c;建立了一个…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

HTML中各种标签的作用

一、HTML文件主要标签结构及说明 1. <&#xff01;DOCTYPE html> 作用&#xff1a;声明文档类型&#xff0c;告知浏览器这是 HTML5 文档。 必须&#xff1a;是。 2. <html lang“zh”>. </html> 作用&#xff1a;包裹整个网页内容&#xff0c;lang"z…...