numpy数组和传统数组,python定义numpy数组
本文介绍了Python中的numpy数组模块,并通过示例代码对其进行了详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
00-1010一、numpy 1简介。numpy库的功能:2。NumPy是一个非常快的数学库,主要用于数组计算,包括:3。NumPy应用程序2。为什么要用numpy 3。创建numpy数组1。转换列表以创建numpy数组。可以选择显式指定dtype2、用arange方法创建numpy数组3、用其他方法创建numpy数组4、在numpy或pandas中使用shape()整形shape(行列转换)4、用numpy.random生成随机数5、fromstring/fromfunction 4、公共属性5、切割7、元素替换8、IX。归并、运算符X、运算函数X、矩阵化X、numpy数组的数学统计方法1、最大值和最小值、平均值、总和2、累计总和3、排序4、方差5、标准差6、中值
目录
Numpy是Python的开源扩展库,用于数值计算。这个库可以用来存储和处理大型的numpy数组,比Python自带的嵌套列表结构效率高很多(这个结构也可以用来表示numpy数组)。
一、numpy简介
与list list不同的是,它提供了数组运算、数组操作、统计分布和简单的数学模型。计算速度之所以快,甚至是因为python内置的简单运算,使其成为pandas(分析结构化数据的工具集)和sklearn(Scikit-learn(sklearn)是机器学习中常用的第三方模块)等模块的依赖包。
TensorFlow、PyTorch等高级框架。具有与numpy非常相似的数组操作。
1、numpy库作用:
一个强大的N维数组对象ndarray广播函数,集成了C/C /Fortran代码的线性代数、傅立叶变换、随机数生成等工具的功能。
2、NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
NumPy通常与SciPy(科学Python)和Matplotlib(绘图库)一起使用。这种组合被广泛用于取代MatLab,它是一个强大的科学计算环境,帮助我们通过Python学习数据科学或机器学习。
SciPy:是一个开源的Python算法库和数学工具包。SciPy包含最优化、线性代数、积分、插值、特殊函数、快速傅立叶变换、信号处理与图像处理、常微分方程求解等模块以及其他科学与工程中常用的计算。Matplotlib:是Python编程语言及其数值数学扩展包NumPy的可视化接口。它通过使用通用图形用户界面工具包,如Tkinter、wxPython、Qt或GTK,为应用程序嵌入式绘图提供应用程序接口(API)。
3、NumPy 应用
lis1=[1,2,3]
lis2=[4,5,6]
如果我们想要L
is1 * lis2得到一个结果为lis_res = [4, 10, 18],非常复杂。
三、创建numpy数组
numpy数组即numpy的ndarray对象,
1、将列表转换创建numpy数组,可选择显式指定dtype
import numpy as np
2、arange方式创建numpy数组
# 构造0-9的ndarray数组
3、其他方式创建numpy数组
# 构造3*4的全0的numpy数组
4、numpy或pandas中reshape()重塑形状(行列转换)的用法
例子:
z = np.array([[1, 2, 3, 4],
1.z.reshape(-1)或z.reshape(1,-1),转换成1行,列数未知。即将数组横向平铺。
z.reshape(-1)
2.z.reshape(-1, 1)),转换成1列,行数未知。即将数组纵向平铺。
z.reshape(-1,1)
3.z.reshape(-1, 2),newshape列数等于2,行数未知,reshape后的shape等于(8, 2)
z.reshape(-1, 2)
4、numpy.random生成随机数
举例:
rs = np.random.RandomState(1) # RandomState()方法会让数据值随机一次,之后都是相同的数据
5、 fromstring/fromfunction(了解)
fromstring:通过对字符串的字符编码所对应ASCII编码的位置,生成一个ndarray对象
s = abcdef
fromfunction:使用函数对numpy数组元素的行和列的索引做处理,得到当前元素的值。
索引从0开始,并构造一个3*4的numpy数组 print(np.fromfunction(func, (3, 4)))
def func(i, j):
四、常用属性
举例:
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
五、切割
切分numpy数组类似于列表的切割,但是与列表的切割不同的是,numpy数组的切割涉及到行和列的切割,但是两者切割的方式都是从索引0开始,并且取头不取尾。
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
七、元素替换
numpy数组元素的替换,类似于列表元素的替换,并且numpy数组也是一个可变类型的数据,即如果对numpy数组进行替换操作,会修改原numpy数组的元素,所以下面我们用.copy()方法举例numpy数组元素的替换。
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
八、合并
arr1 = np.array([[1, 2], [3, 4], [5, 6]])
九、运算符
arr1 = np.array([[1, 2], [3, 4], [5, 6]])
十、运算函数
一元函数:abs, sqrt, exp, log, ceil, floor, rint, trunc, modf, isnan, isinf, cos, sin, tan
二元函数:add, substract, multiply, divide, power, mod, maximum, mininum
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
十一、矩阵化
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
十二、numpy数组的数学和统计方法
1、最大最小值、平均、求和
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
2、累加和
arr = np.array([1, 2, 3, 4, 5])
3、排序
numpy.sort(a, axis, kind, order):返回输入数组的排序副本
a: 要排序的数组
axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序
kind: 默认为'quicksort'(快速排序) ,
'mergesort'
(归并排序),'heapsort'
(堆排序)order: 如果数组包含字段,则是要排序的字段
a = np.array([[3,7],[9,1]])
4、 方差
方差公式为
其中x为numpy数组。
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
5、 标准差
标准差公式为:
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
6、 中位数
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
到此这篇关于Python数组模块numpy的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。