当前位置: 首页 > 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;建立了一个…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...