NumPy 基础:函数总结


最近重新学习发现,NumPy 中有很多很多的函数,以下根据个人和结合官网对函数的理解,整理了一些关于NumPy 中常用的一些基础函数。本文仅供参考,如有错误请予以批评指正,如需转载请标记出处。

1 NumPy - 数组生成函数

Numpy 中最常规的就是利用array函数来生成一个新的包含传递数据的NumPy 数组。array函数,参数如下:

import numpy as np
array1=np.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数 描述
object 传入的数据,可以使列表(list)、集合(set)、元组(tuple)、字符串(str)等
dtype 数组的所需数据类型,默认为空,可选,如:dtype=np.float64
copy 对象是否需要复制,默认为True
oder C(按行)、F(按列)、A(任意,默认)
subok 默认情况下,返回的数组被强制为基类数组。 如果为True,则返回子类
ndmin 指定返回数组的维数,如ndmin=2

除了array函数以外,还有以下一些生成函数,只是参数或多或少发生改变:

生成函数 描述
array 传入的数据x(可以是列表、集合、元组、字符串等)转换为ndarray,具体参数如上表
asarray array和asarray作用相同,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。numpy.asarray(a, dtype=None, order=None)
empty 它创建指定形状和dtype的未初始化数组。 它使用以下构造函数:numpy.empty(shape, dtype = float, order = 'C')
zeros 返回特定大小,以 0 填充的新数组: numpy.zeros(shape, dtype = float, order = 'C')
ones 返回特定大小,以 1 填充的新数组: numpy.ones(shape, dtype = None, order = 'C')
eye 创建一个N * N的单位矩阵(对角线为1,其余为0): numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
arange 这个函数返回ndarray对象,包含给定范围内的等间隔值:numpy.arange(start, stop, step, dtype)
linspace 此函数类似于arange()函数。 在此函数中,指定了范围之间的均匀间隔数量,而不是步长。 此函数的用法如下:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
logspace 此函数返回一个ndarray对象,其中包含在对数刻度上均匀分布的数字。 刻度的开始和结束端点是某个底数的幂,通常为 10:numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

*注:

  1. shape 空数组的形状,整数或整数元组;
  2. dtype 所需的输出数组类型,可选;
  3. order 'C’为按行的 C 风格数组,'F’为按列的order 'C’为按行的 C 风格数组,'F’为按列的Fortran 风格数组;
  4. start 序列的起始值;stop 序列的终止值,如果endpointtrue,该值包含于序列中;
  5. num 要生成的等间隔样例数量,默认为50;
  6. retstep 如果为true,返回样例,以及连续数字之间的步长;
  7. base 对数空间的底数,默认为10*

例如:

import numpy as np
ndarray = np.empty((4,4))
print("4x4主对角为1的empty矩阵")
print(ndarray)

ndarray1 = np.ones((4,4))
print("4x4元素全为1矩阵")
print(ndarray1)

ndarray2 = np.zeros((4,4))
print("4x4元素全为0矩阵")
print(ndarray2)

ndarray3 = np.eye(4)
print("4x4单位矩阵")
print(ndarray3)

ndarray4 = np.linspace(0,100,num=11)
print("0-100,生成11个数")
print(ndarray4)

ndarray5 = np.logspace(0,100,num=11)
print("0-100,生成11个对数")
print(ndarray5)

输出:

4x4主对角为1的empty矩阵
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
4x4元素全为1矩阵
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
4x4元素全为0矩阵
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
4x4单位矩阵
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
0-100,生成11个数
[  0.  10.  20.  30.  40.  50.  60.  70.  80.  90. 100.]
0-100,生成11个对数
[1.e+000 1.e+010 1.e+020 1.e+030 1.e+040 1.e+050 1.e+060 1.e+070 1.e+080
 1.e+090 1.e+100]

2 NumPy - 数组的一些基本属性

NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。

import numpy as np

#生成一个5*5的单位矩阵
ndarray = np
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值