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

Python基础、数据科学入门NumPy(数值计算)、Pandas(数据处理)、Matplotlib(数据可视化)附视频教程

Python基础 + 数据科学入门指南

  • Python是数据科学领域最主流的编程语言,其简洁的语法、丰富的库生态(如NumPy、Pandas、Matplotlib)使其成为入门数据科学的首选工具。本文将从Python基础语法入手,逐步过渡到数据科学核心工具,最后通过实战案例帮助你掌握入门级数据科学工作流。
  • 视频教程:https://pan.quark.cn/s/608adfeae3f9

第一部分:Python基础语法(必学核心)

Python基础是数据科学的“地基”,无需掌握所有高级特性,重点攻克以下核心模块即可满足数据科学入门需求。

1. 环境搭建:快速上手Python

首先需要安装Python解释器和代码编辑器,推荐“Anaconda + VS Code”组合(新手友好,自带数据科学常用库):

  • Anaconda:包含Python解释器、conda包管理器和150+数据科学库(无需手动安装NumPy/Pandas),下载地址:Anaconda官网
  • VS Code:轻量型代码编辑器,安装“Python”插件后可直接运行代码,支持语法提示和调试,下载地址:VS Code官网

安装完成后,打开VS Code新建.py文件,输入print("Hello Data Science!"),点击运行按钮,若输出字符串则环境搭建成功。

2. 核心语法:数据科学常用知识点

(1)变量与数据类型

数据科学中处理的核心是“数据”,需先掌握Python的基础数据类型:

数据类型说明示例数据科学用途
整数(int)无小数部分的数字age = 25计数(如样本数量、类别编号)
浮点数(float)带小数部分的数字score = 98.5连续型数据(如身高、收入)
字符串(str)文本信息,用引号包裹name = "data"处理标签(如用户ID、类别名称)
列表(list)有序、可修改的元素集合,用[]表示nums = [1, 2, 3, 4]存储一维数据(如一列数值)
字典(dict)键值对(key-value)集合,用{}表示student = {"name": "Tom", "age": 20}存储结构化数据(如一条样本)
数组(array)(需NumPy库)高效存储数值的多维结构import numpy as np; arr = np.array([1,2,3])数据科学核心数据结构

常用操作示例

# 列表操作(提取、修改、切片)
data = [10, 20, 30, 40, 50]
print(data[0])       # 提取第一个元素:10(Python索引从0开始)
print(data[1:3])     # 切片(左闭右开):[20, 30]
data[2] = 35         # 修改元素:data变为[10,20,35,40,50]# 字典操作(按key取值)
sample = {"height": 175.5, "weight": 68.2, "gender": "male"}
print(sample["weight"])  # 输出:68.2
(2)控制流:循环与判断

数据处理中常需“筛选数据”(判断)或“批量计算”(循环),核心语法如下:

  1. if-else判断(筛选数据):

    score = 85
    if score >= 90:print("优秀")
    elif score >= 80:print("良好")  # 输出:良好
    else:print("及格")
    
  2. for循环(批量处理):

    # 计算列表中所有元素的平均值
    nums = [12, 15, 18, 20, 25]
    total = 0
    for num in nums:total += num  # 累加每个元素
    average = total / len(nums)
    print(average)  # 输出:18.0
    
  3. 列表推导式(简化循环,数据科学常用):

    # 快速生成“nums中大于15的元素”组成的新列表
    nums = [12, 15, 18, 20, 25]
    filtered_nums = [x for x in nums if x > 15]
    print(filtered_nums)  # 输出:[18, 20, 25]
    
(3)函数:封装重复逻辑

数据科学中常需重复使用“计算均值”“标准化”等逻辑,用函数封装可提高效率:

# 定义一个计算均值的函数
def calculate_average(data):total = sum(data)avg = total / len(data)return avg  # 返回计算结果# 调用函数
scores = [88, 92, 79, 95, 85]
print(calculate_average(scores))  # 输出:87.8

第二部分:数据科学核心库(入门三件套)

掌握Python基础后,重点学习NumPy(数值计算)、Pandas(数据处理)、Matplotlib(数据可视化) ——这三个库是数据科学的“基石”,覆盖从数据加载、清洗到分析、展示的全流程。

1. NumPy:高效数值计算库

NumPy的核心是ndarray(多维数组),相比Python列表,它支持批量数值运算(无需循环),且运算速度更快,是Pandas和Matplotlib的底层依赖。

核心用法:
import numpy as np  # 导入库(约定简写为np)# 1. 创建数组
arr1 = np.array([1, 2, 3, 4])  # 一维数组
arr2 = np.array([[1, 2], [3, 4]])  # 二维数组(2行2列)# 2. 数组属性(了解数据结构)
print(arr2.shape)  # 输出:(2, 2)(行数×列数)
print(arr2.dtype)  # 输出:int64(数据类型)# 3. 批量运算(无需循环,核心优势)
arr3 = arr1 * 2  # 每个元素乘2
print(arr3)  # 输出:[2 4 6 8]# 4. 常用函数(统计、聚合)
print(np.mean(arr1))  # 均值:2.5
print(np.max(arr1))   # 最大值:4
print(np.sum(arr2, axis=0))  # 按列求和:[4 6](axis=0列,axis=1行)

2. Pandas:数据处理与分析库

Pandas是数据科学的“瑞士军刀”,核心数据结构是DataFrame(表格型数据),可轻松实现“加载Excel/CSV数据、缺失值处理、筛选、分组统计”等高频操作。

核心用法(以CSV数据为例):

假设我们有一份“学生成绩数据”scores.csv,内容如下:

namemathenglishgender
Tom9288male
Lily9593female
Jack8075male

用Pandas处理该数据的示例:

import pandas as pd  # 导入库(约定简写为pd)# 1. 加载数据(支持CSV/Excel/数据库等)
df = pd.read_csv("scores.csv")  # df是DataFrame对象(表格)
print(df.head())  # 查看前5行数据(默认5行,避免数据过多)# 2. 查看数据基本信息(数据科学第一步:了解数据)
print(df.info())  # 查看列名、数据类型、缺失值数量
print(df.describe())  # 查看数值列(math/english)的统计指标(均值、标准差等)# 3. 数据筛选(按条件提取行)
# 筛选“math成绩>90”的学生
high_math = df[df["math"] > 90]
print(high_math)# 4. 缺失值处理(数据清洗核心步骤)
# 查看各列缺失值数量
print(df.isnull().sum())
# 若有缺失值,可填充均值(数值列)或删除行
df["math"] = df["math"].fillna(df["math"].mean())  # 用math列均值填充缺失值# 5. 分组统计(按类别分析数据)
# 按gender分组,计算math和english的平均分
gender_avg = df.groupby("gender")[["math", "english"]].mean()
print(gender_avg)

3. Matplotlib:数据可视化库

“一图胜千言”,Matplotlib可绘制折线图、柱状图、散点图等,帮助直观理解数据规律(如相关性、分布)。

核心用法(结合Pandas数据绘图):
import matplotlib.pyplot as plt  # 导入库(约定简写为plt)
import pandas as pd# 加载数据(延续上文的学生成绩数据)
df = pd.read_csv("scores.csv")# 1. 绘制柱状图(比较不同学生的math成绩)
plt.figure(figsize=(8, 4))  # 设置图的大小(宽×高)
plt.bar(df["name"], df["math"], color="skyblue")  # 柱状图:x=姓名,y=math成绩
plt.title("Student Math Scores")  # 图标题
plt.xlabel("Name")  # x轴标签
plt.ylabel("Math Score")  # y轴标签
plt.show()  # 显示图片# 2. 绘制散点图(分析math和english成绩的相关性)
plt.figure(figsize=(8, 4))
plt.scatter(df["math"], df["english"], color="orange")  # 散点图:x=math,y=english
plt.title("Math vs English Scores")
plt.xlabel("Math Score")
plt.ylabel("English Score")
plt.show()

第三部分:进阶方向

  • 机器学习:学习Scikit-learn库,掌握线性回归、决策树、随机森林等基础算法
  • 深度学习:学习TensorFlow/PyTorch库,应用于图像识别、自然语言处理
  • 大数据处理:学习Spark(PySpark),处理百万级以上大规模数据

通过以上内容,你可以搭建起Python数据科学的基础框架。建议先从“Python基础+Pandas”入手,多做数据清洗和分析练习,再逐步学习可视化和算法,积累实战经验是关键!

http://www.xdnf.cn/news/1373473.html

相关文章:

  • 使用Spring Boot和EasyExcel导出Excel文件,并在前端使用Axios进行请求
  • 部署网页在服务器(公网)上笔记 infinityfree 写一个找工作单html文件的网站
  • 趣味学Rust基础篇(变量与可变性)
  • 从传统到创新:用报表插件重塑数据分析平台
  • 基于Spark的白酒行业数据分析与可视化系统的设计与实现
  • 【服务器】用X99主板组装服务器注意事项
  • 【开题答辩全过程】以 微信小程序的医院挂号预约系统为例,包含答辩的问题和答案
  • 在Excel和WPS表格中通过查找替换对单元格批量强制换行
  • 实现基于数据库 flag 状态的消息消费控制
  • PMP项目管理知识点-⑭【①-⑬流程总结】→图片直观表示
  • 让ai写一个类github首页
  • 从文本到二进制:HTTP/2不止于性能,更是对HTTP/1核心语义的传承与革新
  • 深度学习11 Deep Reinforcement Learning
  • 深度学习12 Reinforcement Learning with Human Feedback
  • 如何在阿里云百炼中使用钉钉MCP
  • 深度学习——激活函数
  • 【stm32简单外设篇】-4×4 薄膜键盘
  • 区块链技术探索与应用:从密码学奇迹到产业变革引擎
  • 【PS实战】制作hello标志设计:从选区到色彩填充的流程(大学作业)
  • 开发electron时候Chromium 报 Not allowed to load local resource → 空白页。
  • 【分布式技术】Kafka 数据积压全面解析:原因、诊断与解决方案
  • 基于muduo库的图床云共享存储项目(一)
  • More Effective C++ 条款10:在构造函数中防止资源泄漏
  • Tomcat的VM options
  • 广告推荐模型3:域感知因子分解机(Field-aware Factorization Machine, FFM)
  • 变压器副边电流计算
  • ARP地址解析协议
  • 嵌入式C语言进阶:结构体封装函数的艺术与实践
  • Java 集合笔记
  • 宝石组合(蓝桥杯)