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的基本操作介绍完毕。


相关文章
|
9天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
25 1
|
1月前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
2天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
【7月更文挑战第12天】Python的Pandas和NumPy库助力高效数据处理。Pandas用于数据清洗,如填充缺失值和转换类型;NumPy则擅长数组运算,如元素级加法和矩阵乘法。结合两者,可做复杂数据分析和特征工程,如产品平均销售额计算及销售额标准化。Pandas的时间序列功能,如移动平均计算,进一步增强分析能力。掌握这两者高级技巧,能提升数据分析质量和效率。
13 4
|
4天前
|
索引 Python
numpy的基本操作
numpy的基本操作
numpy的基本操作
|
9天前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
25 3
|
1天前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
15 9
|
26天前
|
Python
NumPy 是 Python 中的一个重要的科学计算包,其核心是一个强大的 N 维数组对象 Ndarray
【6月更文挑战第18天】NumPy的Ndarray是科学计算的核心,具有ndim(维度数)、shape(各维度大小)、size(元素总数)和dtype(数据类型)属性。方法包括T(转置)、ravel()(扁平化)、reshape()(改变形状)、astype()(转换数据类型)、sum()(求和)及mean()(计算平均值)。更多属性和方法如min/max等可在官方文档中探索。
37 5
|
2天前
|
数据挖掘 数据处理 决策智能
Python 数据分析工具箱:深挖 Pandas 与 NumPy 高级功能,驱动智能决策
【7月更文挑战第12天】Python的Pandas和NumPy是数据分析的基石。Pandas提供灵活的数据结构如DataFrame,用于高效处理关系型数据,而NumPy则以多维数组和科学计算功能著称。两者结合,支持数据合并(如`pd.merge`)、时间序列分析(`pd.to_datetime`)和高级数组运算。通过掌握它们的高级特性,能提升数据分析效率,应用于各领域,如金融风险评估、市场分析和医疗预测,助力数据驱动的决策。学习和熟练运用Pandas与NumPy是成为出色数据分析师的关键。
|
26天前
|
Python
NumPy 是 Python 的一个强大的科学计算库,它允许你创建各种类型的数组
【6月更文挑战第18天】**NumPy**是Python的科学计算库,用于创建和操作多维数组。常用数组生成方法包括:`np.array()`从列表转换为数组;`np.zeros()`生成全零矩阵;`np.ones()`创建全一矩阵;`np.linspace()`产生等差序列;`np.arange()`创建等差数列;以及`np.eye()`生成对角线为1的二维数组。更多方法可查阅NumPy官方文档。
29 2
|
9天前
|
数据采集 数据挖掘 大数据
Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据
【7月更文挑战第5天】Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据。它支持缺失值处理(dropna()、fillna())、异常值检测(Z-Score、IQR法)和重复值管理(duplicated()、drop_duplicates())。此外,数据转换包括类型转换(astype())、数据标准化(Min-Max、Z-Score)以及类别编码(get_dummies())。这些功能使得Pandas成为大数据预处理的强大工具。