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

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

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 位数字。 输…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...