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

Python科学计算工具:Numpy与Pandas入门 - 指南

在数据分析与人工智能的学习旅程中,Python 已经成为最受欢迎的编程语言。而在 Python 的科学计算生态中,NumPyPandas 是两大核心工具,它们分别负责高效的数值计算和灵活的数据处理。本文将带你快速入门这两大工具,为后续的数据分析与机器学习打下坚实基础。


一、NumPy:高效的数值计算库

1. 什么是 NumPy?

NumPy(Numerical Python)是 Python 的 科学计算基础库,主要提供:

它是后续许多库(如 Pandas、Scikit-learn、TensorFlow)的底层依赖。


2. 基本使用

import numpy as np
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
print("数组:", arr)
# 数组运算
print("加 1:", arr + 1)
print("平方:", arr ** 2)
# 多维数组
matrix = np.array([[1, 2], [3, 4], [5, 6]])
print("二维数组:\n", matrix)

NumPy 的数组运算效率远高于 Python 的 list,适合大规模数值计算。


3. 常用函数

# 基本统计
print("最大值:", arr.max())
print("最小值:", arr.min())
print("平均值:", arr.mean())
# 随机数
rand_arr = np.random.rand(3, 3)
print("随机矩阵:\n", rand_arr)
# 矩阵运算
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 3]])
print("矩阵乘法:\n", np.dot(A, B))

二、Pandas:数据处理与分析利器

1. 什么是 Pandas?

Pandas 是基于 NumPy 构建的数据分析库,主要提供两个核心数据结构:

它让 Python 在数据处理上变得像 Excel + SQL 的结合体。


2. Series 示例

import pandas as pd
# 创建 Series
scores = pd.Series([90, 85, 78, 92], index=["张三", "李四", "王五", "赵六"])
print("成绩:\n", scores)
# 索引与切片
print("张三的成绩:", scores["张三"])
print("平均成绩:", scores.mean())

3. DataFrame 示例

# 创建 DataFrame
data = {
"姓名": ["张三", "李四", "王五", "赵六"],
"成绩": [90, 85, 78, 92],
"年龄": [20, 21, 19, 22]
}
df = pd.DataFrame(data)
print("学生信息:\n", df)
# 基本操作
print("平均成绩:", df["成绩"].mean())
print("最高分学生:\n", df[df["成绩"] == df["成绩"].max()])

4. 数据清洗与处理

Pandas 还提供了强大的数据处理功能,常用于数据分析前的预处理:

# 缺失值处理
df.loc[2, "成绩"] = None
print("含缺失值:\n", df)
print("填充缺失值:\n", df.fillna(df["成绩"].mean()))
# 数据筛选
print("成绩大于85分的学生:\n", df[df["成绩"] >
85])
# 分组统计
print("按年龄分组统计成绩:\n", df.groupby("年龄")["成绩"].mean())

三、NumPy 与 Pandas 的区别

特性NumPyPandas
主要用途高效数值计算数据分析与处理
数据结构ndarray(多维数组)Series、DataFrame
操作对象数值为主结构化数据(表格)
适用场景矩阵运算、科学计算数据清洗、分析、可视化

简单理解:

  • NumPy 是计算引擎(快!)
  • Pandas 是分析助手(灵活!)

四、总结

在 Python 科学计算中:

如果说 NumPy 是底层的“数学内核”,那么 Pandas 就是贴近用户的“数据分析外壳”。掌握这两个工具,就能大幅提升你在数据分析、机器学习中的工作效率。

http://www.jsqmd.com/news/10505/

相关文章:

  • Firefox火狐浏览器插件下载、安装路径、备份插件、手动安装插件
  • 2025.10.9午后有感
  • Firefox火狐浏览器插件下载、安装路径
  • 实用指南:PyTest框架学习
  • 详细介绍:计算机毕业设计springboot的老年公寓管理系统 SpringBoot智慧养老院服务平台设计与实现 基于SpringBoot的社区长者照护信息管理系统
  • PWN手成长之路-12-pwn1_sctf_2016
  • WPF应用最小化到系统托盘
  • Hyper-v 安装 Android9
  • test8 - post
  • 计算机毕业设计springboot制氢领域文献管理强大的系统 基于SpringBoot的氢能研究文献管理平台 面向制氢技能的文献资料管理系统设计与实现
  • 素材
  • 数论上
  • 数论中
  • Vue 3 + TypeScript 中 QCarousel 模板引用类型错误解决方案
  • 数论下
  • 赌狗确实很爽,也确实很容易上天台
  • ZYNQ xapp585 lvds 文档阅读 (三)
  • PromSL详解
  • uniapp 简单封装接口请求
  • 【SPIE出版】第五届算法、高性能计算与人工智能国际学术会议(AHPCAI 2025)
  • 实用指南:chromedriver 下载失败
  • 深入解析:recipes中声明 DEPENDS += “virtual/kernel“ 的效果
  • 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期) - 实践
  • 别再手动更新Wiki了!PandaWiki的『AI同步助手』,实时抓取企业最新动态
  • 2025 防洪板源头厂家最新推荐榜单:铝合金 / 移动 / 应急款精准测评,稳定性能品牌优选指南
  • 完整教程:【复习】计网每日一题--PPP链路
  • Ubuntu安装 IDEA
  • 精密星历内插的MATLAB代码实现
  • .                    当项目规模失控时:架构师的“止损”之道
  • zsh vs. bash