【30天玩转python】使用第三方库(如 NumPy、Pandas)

devtools/2024/9/22 13:42:56/

使用第三方库(如 NumPy、Pandas)

Python 的强大之处在于其广泛的第三方库生态,特别是在科学计算、数据分析等领域。NumPyPandas 是 Python 最常用的两个库,分别用于数值计算和数据处理。学习和掌握这些库将极大地提升你的编程效率和解决问题的能力。


1. NumPy 简介

NumPy 是 Python 的科学计算基础库,提供了支持高效多维数组和矩阵运算的功能。它是许多其他科学计算库(如 Pandas、SciPy 等)的基础。

1.1 安装 NumPy

在使用 NumPy 之前,需要先安装它。可以使用 pip 命令进行安装:

pip install numpy
1.2 NumPy 的主要功能
  • 多维数组对象(ndarray):提供高效的数组运算。
  • 广播机制:支持对不同形状数组进行运算。
  • 线性代数:提供矩阵、向量和线性代数操作。
  • 随机数生成:用于生成随机数或随机分布的数据。
1.3 创建 NumPy 数组

NumPy 的核心是 ndarray,它是一个多维数组对象。可以通过不同的方式创建数组。

示例:创建 NumPy 数组

python">import numpy as np# 创建一维数组
array_1d = np.array([1, 2, 3, 4, 5])# 创建二维数组
array_2d = np.array([[1, 2, 3], [4, 5, 6]])# 创建全零数组
zeros_array = np.zeros((3, 3))# 创建全一数组
ones_array = np.ones((2, 4))# 创建指定范围的数组
range_array = np.arange(0, 10, 2)print(array_1d)
print(array_2d)
print(zeros_array)
print(ones_array)
print(range_array)
1.4 数组运算

NumPy 的强大之处在于能够对数组执行矢量化运算,无需显式地写循环。这使得代码简洁且执行效率高。

示例:数组加法与矩阵乘法

python">import numpy as np# 数组加法
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b  # [5, 7, 9]# 矩阵乘法
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
result = np.dot(matrix1, matrix2)  # 矩阵乘法print(c)
print(result)
1.5 数学函数

NumPy 提供了丰富的数学函数,用于数组的元素级别操作。

示例:应用数学函数

python">import numpy as npa = np.array([1, 4, 9, 16])# 计算平方根
sqrt_a = np.sqrt(a)# 计算正弦值
sin_a = np.sin(a)# 计算平均值
mean_a = np.mean(a)print(sqrt_a)
print(sin_a)
print(mean_a)

2. Pandas 简介

Pandas 是一个强大的数据分析库,它提供了方便的数据结构(如 DataFrame)来高效地处理和分析数据,尤其适用于结构化数据。

2.1 安装 Pandas

同样,使用 pip 安装 Pandas:

pip install pandas
2.2 Pandas 的主要功能
  • Series:一维数据结构,类似于列表或一维数组。
  • DataFrame:二维数据结构,类似于 Excel 表格或 SQL 数据表。
  • 数据读写:支持读取 CSV、Excel、SQL 数据库等格式的数据。
2.3 创建 Pandas 数据结构

Pandas 的两种主要数据结构是 SeriesDataFrameSeries 是一维数组,DataFrame 是二维表格。

示例:创建 Series 和 DataFrame

python">import pandas as pd# 创建 Series
data_series = pd.Series([10, 20, 30, 40])# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'San Francisco', 'Chicago']}
data_frame = pd.DataFrame(data)print(data_series)
print(data_frame)
2.4 数据读取与写入

Pandas 提供了简单的接口来读取和写入各种格式的数据,如 CSV、Excel、SQL 数据库等。

示例:读取 CSV 文件

python">import pandas as pd# 从 CSV 文件中读取数据
data_frame = pd.read_csv('data.csv')# 显示前几行数据
print(data_frame.head())# 写入数据到 CSV 文件
data_frame.to_csv('output.csv', index=False)
2.5 数据处理与操作

Pandas 提供了丰富的数据操作方法,包括筛选、排序、缺失值处理等。

示例:数据筛选与操作

python">import pandas as pd# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'Salary': [70000, 80000, 120000, 130000]}
data_frame = pd.DataFrame(data)# 筛选年龄大于30的数据
filtered_data = data_frame[data_frame['Age'] > 30]# 添加新列
data_frame['Bonus'] = data_frame['Salary'] * 0.1# 缺失值处理
data_frame.fillna(0, inplace=True)print(filtered_data)
print(data_frame)

3. NumPy 与 Pandas 的结合

NumPyPandas 常常结合使用,PandasDataFrame 数据结构内部就是基于 NumPy 的多维数组进行高效存储和操作的。

示例:将 NumPy 数组转为 Pandas DataFrame

python">import numpy as np
import pandas as pd# 创建 NumPy 数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 将 NumPy 数组转为 DataFrame
data_frame = pd.DataFrame(array, columns=['A', 'B', 'C'])print(data_frame)

4. 小结

  • NumPy 是科学计算和数值处理的基础库,擅长多维数组和矩阵运算。
  • Pandas 是数据分析的强大工具,能够高效处理结构化数据。
  • 结合使用 NumPyPandas 可以实现数据的高效处理与分析,大大提升开发效率。

通过学习和掌握 NumPyPandas,你可以更轻松地应对数据分析和科学计算任务。


http://www.ppmy.cn/devtools/115485.html

相关文章

医学数据分析实训 项目九 糖尿病风险预测

文章目录 综合实践二 糖尿病遗传风险预测一、分析目标二、实现步骤三、数据准备四、特征工程五、模型构建六、性能度量七、提交要求 综合实践任务二 糖尿病遗传风险预测代码(一)数据准备(二)特征工程(三)模…

网络安全。

文章目录 目录 文章目录 一. 网络安全概述 二. 密码学原理 三. 报文完整性和数字签名 密码散列函数 报文鉴别码 数字签名 公钥认证 四. HTTPS通信 总结 一. 网络安全概述 网络安全是保护计算机网络及其数据免受各种威胁和攻击的实践和技术。随着互联网的普及和数字化…

saas收银系统源码

1. 线下门店多样化收银 ①门店有社区小店、也会有大店,甚至还会有夫妻店,同时还要有Windows版和安卓版,需满足不同门店的收银需求。 ②支持Windows收银、安卓收银、无人自助收银、聚合码收银等,支持ai智能称重、收银称重一体机等…

前端实用工具(二):编程规范化解决方案

目录 本地代码规范化工具 代码检测工具ESLint 代码格式化工具Prettier 远程代码规范化工具 远程提交规范化工具commitizen 提交规范检验工具commitlint husky 什么是git hooks commitlint安装 husky安装 检测代码提交规范 ESLint husky 自动修复格式错误lint-staged…

STM32快速复习(十二)FLASH闪存的读写

文章目录 一、FLASH是什么?FLASH的结构?二、使用步骤1.标准库函数2.示例函数 总结 一、FLASH是什么?FLASH的结构? 1、FLASH简介 (1)STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&…

掌控历史:如何通过Git版本管理工具提升你的开发效率

先一览全局: git目录 一.打开git二.git bash的基础命令三.配置git四.仓库搭建五.文件操作和状态六.忽略文件七.gitee的使用1.添加公钥2.创建仓库 八.vs中使用git九.git分支常用命令十.文件差异比较十一.文件回溯和推进十二.合并冲突和消除十三.合并/压缩提交十四.远程仓库推拉十…

Ubuntu NFS 搭建及配置

在 Ubuntu 上搭建和配置 NFS(Network File System)服务器,可以让其他设备通过网络访问共享的文件夹。以下是步骤指南: 1. 安装 NFS 服务器 首先,安装 NFS 服务器软件包: sudo apt update sudo apt insta…

springbootKPL比赛网上售票系统

基于springbootvue实现的KPL比赛网上售票系统 (源码L文ppt)4-068 4.2 系统结构设计 架构图是系统的体系结构,体系结构是体系结构体系的重要组成部分。KPL比赛网上售票系统的总体结构设计如图4-2所示。 图4-2 系统总体架构图 4.3数据…