python中numpy模块的作用_Python中Numpy模块的使用

目录

NumPy

NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

一个强大的 N 维数组对象 ndarray

广播功能函数

整合 C/C++/Fortran 代码的工具

线性代数、傅里叶变换、随机数生成等功能

ndarray对象

NumPy 最重要的一个对象是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,可以使用基于 0 的索引访问集合中的项目。

ndarray 对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)

numpy.array( object ,  dtype = None , ndmin = 0 ,copy = True , order = None ,  subok = False )

一般只有 object 、dtype和 ndmin 参数常用,其他参数不常用

0303813fde2678c1395a9542b4d9b300.png

import numpy

a=numpy.array([1,2,3]) #一维

b=numpy.array([[1,2,3],[4,5,6]]) #二维

c=numpy.array([1,2,3],dtype=complex) #元素类型为复数

d=numpy.array([1,2,3],ndmin=2) #二维

print(a,type(a))

print(b,type(b))

print(c,type(c))

print(d,type(d))

####################################

[1 2 3]

[[1 2 3]

[4 5 6]]

[1.+0.j 2.+0.j 3.+0.j]

[[1 2 3]]

Numpy数组属性

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作。

ndarray 对象属性有:

59541f89620399e6a67954629e6260ef.png

常见的属性有下面几种 :

ndarray.shape:  这一数组属性返回一个包含数组纬度的元组,它也可以用于调整数组大小

import numpy as np

a=np.array([[1,2,3],[4,5,6]])

print(a.shape) #打印shape属性

a.shape=(3,2) #修改shape属性

print(a)

#######################################

(2, 3)

[[1 2]

[3 4]

[5 6]]

ndarray.ndim: 这一数组属性返回数组的维数

import numpy as np

a=np.arange(24) #np.arange返回0-23的列表类型的数据

print(a.ndim)

b=a.reshape(2,3,4)

print(b)

print(b.ndim)

############################

1

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

3

ndarray.itemsize : 这一数组属性返回数组中每个元素的字节单位长度

import numpy as np

a=np.array([1,2,3]) #默认是四个字节

print(a.itemsize)

#########################################

4

numpy.mat()函数的用法

该函数用来创建矩阵

import numpy as np

#将列表转为矩阵

a=[7,8,9]

b=np.mat(a)

print(b)

print("#"*10)

#创建一行的矩阵

m=np.mat([1,2,3])

print(m)

print("打印出第一行的第三个值:",m[0,2]) #取第一行的第三个值

print("#"*10)

x=np.mat([[3,2,1],[6,5,4]])

print(x)

print("打印出矩阵的第二行:",x[1])

print("打印出矩阵的第二行:",x[1,:])

print("打印出矩阵的行列数:",x.shape) #获得矩阵的行列数

print("打印出矩阵的行数 :",x.shape[0]) #获得矩阵的行数

print("打印出矩阵的列数 :",x.shape[1]) #获得矩阵的列数

x.sort() #对矩阵的每一行进行排序

print("对矩阵的每一行进行排序:")

print(x)

print("#"*10)

a7fb0387e65e5f18c274b57fc923dc67.png

numpy.zeros()函数的用法

该函数用于返回给定形状和类型的新数组。返回的数据类型为 numpy.ndarray,具有给定形状,类型和顺序的0的数组。

numpy.zeros(shape,dtype=float,order = 'C')

参数:

shape:int 或 int 的元组。新阵列的形状,例如:(2,3)或2。

dtype:数据类型,可选。、例如numpy.int8。默认是numpy.float64

order:{'C','F'},可选,默认:'C' 。是否在内容中以行(C)或列(F)顺序存储多维数据。

import numpy as np

a=np.zeros(5)

print(a,type(a))

b=np.zeros([1,2],dtype='int8')

print(b)

c=np.zeros([1,2,3],dtype='int8')

print(c)

c21c8d66d57db6b1ad059086e3756060.png

本文同步分享在 博客“谢公子”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值