NumPy的基本操作(Python)

简介: NumPy的基本操作(Python)

1. NumPy介绍

NumPy(Numeric Python)是Python科学计算最常用的核心工具库,为快速处理大型多维数组和矩阵提供了高效的数学函数和工具。


Numpy的基本数据结构称为数组(array),它是一个n维向量对象,可以承载同一类型的元素,例如整数或浮点数等,并支持快速的数值运算和线性代数操作。Numpy还能够简化复杂的数据运算。在科学计算、机器学习、数据挖掘等领域Numpy是必不可少的工具之一。


关于NumPy更具体的说明可以参见官网:https://numpy.org/


2. NumPy的基本操作——矩阵变形

首先我们先设定一个array为t,后面的NumPy操作实例都用t为例来说明。

import numpy as np
t = np.array([[1,2,3],
             [4,5,6],
             [7,8,9],
             [10,11,12]])
2.1 改变array形状 .reshape()
print(t.reshape(3,4))

输出为:

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

也可以拆成更高维度:

print(t.reshape(3,2,2))

输出为:

[[[ 1  2]
  [ 3  4]]
 [[ 5  6]
  [ 7  8]]
 [[ 9 10]
  [11 12]]]
2.2 矩阵转置 .T
print(t.T)

输出为:

[[ 1  4  7 10]
 [ 2  5  8 11]
 [ 3  6  9 12]]
2.3 压缩成一行 .flatten()
print(t.flatten())

输出为:

[ 1  2  3  4  5  6  7  8  9 10 11 12]
2.4 输出特定位置元素
print(t[1,2])

输出为:

6
2.5 切片(重点!)

横向切片

print(t[3,:])
print(t[3]) #两者等效

输出为:

[10 11 12]

纵向切片

print(t[:,2])

输出为:

[ 3  6  9 12]

还可以进行多个横向和纵向切片。注意!这里的数字是从0开始数的!

print(t[[3,1],:])

输出为:

[[10 11 12]
 [ 4  5  6]]

还可以切块:

print(t[1:3,1:3])

输出为:

[[5 6]
 [8 9]]

需要注意的是切块的时候[1:3, 1:3]这里的数字1和3,和上面切一行或者一列的1或3的含义并不同。切块这里的1和3是真实从1开始数的。

[1:3, 1:3]的含义是从第1行开始切(第1行不要了),切到第3行(第3行保留),列也是同样的道理。

3. NumPy的基本操作——矩阵元素计算

3.1 输出大于x的值
print(t[t>5])

输出为:

[ 6  7  8  9 10 11 12]

输出小于x的值同理。

3.2 替换大于x的值
t[t>5] = 10  #把大于5的数值替换成10
print(t)

输出为:

[[ 1  2  3]
 [ 4  5 10]
 [10 10 10]
 [10 10 10]]

替换小于x的值同理。

3.3 分类操作 .where()

把array中大于5的值替换成100,小于等于5的值替换成0:

t = np.where(t>5,100,0)  #where操作
print(t)

输出为:

[[  0   0   0]
 [  0   0 100]
 [100 100 100]
 [100 100 100]]
3.4 分类操作 .clip()

把array中大于6的值替换成6,小于等于3的值替换成3:

print(t.clip(3, 6))

输出为:

[[3 3 3]
 [4 5 6]
 [6 6 6]
 [6 6 6]]
3.5 求和 .sum()
print(t.sum())

输出为:

78
3.6 求最小值 .min(axis=)

这里axis=0为求每列的最小值,axis=1为求每行的最小值:

print(t.min(axis=0))

输出为:

[1 2 3]
3.7 求标准差 .std(axis=)

axis的含义同上:

print(t.std(axis=0))

输出为:

[3.35410197 3.35410197 3.35410197]```

以上,NumPy的基本操作介绍完毕。


相关文章
|
5天前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
93 1
|
5天前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
45 0
|
2月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
212 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
2月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
155 0
|
11月前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
233 2
|
11月前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
481 5
|
11月前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
254 3
|
11月前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
378 2
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
342 10
|
机器学习/深度学习 算法 数据挖掘
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧1
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
185 5

热门文章

最新文章

推荐镜像

更多