Numpy 常用函数

阿里云双11来了!从本博客参与阿里云,服务器最低只要86元/年!

numpy 数据类型

数据类型描述
bool_存储为一个字节的布尔值(True, False)
intc相当于C中的int类型, 通常为int32, 或者int64
intp用于索引的整数, 相当于C中的size_t类型, 通常为int32,或int64
int8字节(-128~127)
int1616位整数(-32768~32767)
int3232 位整数(-2147483648 ~ 2147483647)
int6464 位整数(-9223372036854775808 ~ 9223372036854775807)
uint88 位无符号整数(0 ~ 255)
uint1616 位无符号整数(0 ~ 65535)
uint3232 位无符号整数(0 ~ 4294967295)
uint6464 位无符号整数(0 ~ 18446744073709551615)
float_float64的简写
float16半精度浮点:符号位,5 位指数,10 位尾数
float32单精度浮点:符号位,8 位指数,23 位尾数
float64双精度浮点:符号位,11 位指数,52 位尾数
complex_complex128的简写
complex64复数,由两个 32 位浮点表示(实部和虚部)
complex128复数,由两个 64 位浮点表示(实部和虚部)

numpy 数组创建函数

numpy.empty(shape,):

创建指定类型, 指定形状的数组

numpy.zeros(shape,):

创建指定形状, 指定类型, 以0填充的数组

numpy.ones(shape,):

返回特定大小,以 1 填充的新数组

numpy.fromiter(iterable,):

从任何可迭代对象构建一个ndarray对象

numpy.arange(start, stop, step,):

创建指定起始值,终止值,步长和类型的数组

numpy.linspace(start, stop,num,):

在指定范围内创建N个间隔均匀的数值, 并以数组形式返回

numpy.logscale(start, stop, num,):

numpy.linspace()类似, 不过这里的参数start和stop表示的是10的幂指数

numpy 数组操作函数

numpy.concatenate((a1,a2,), axis):

在指定坐标轴方向上, 连接多个数组

numpy.hstack((a1,a2,)):

在水平方向上叠加多个数组

numpy.vstack((a1,a2,)):

在竖直方向上叠加多个数组

numpy.split(ary,n,axis):

在指定坐标轴方向上将数组平均分成n份

numpy.hsplit(ary,N):

将数组ary水平分割为N份

numpy.vsplit(ary,N):

将数组ary竖直分割为N份

numpy.append(arr,values,axis):

将values在axis方向上添加到arr

numpy.unique(arr,):

返回arr中的去重数组

np.tile(a,reps):

对数组a行进reps次数的复制

# input
import numpy as np
a=np.arange(4).reshape(2,2)
a=np.tile(a,(2,3))
print(a)
# output
[[0 1 0 1 0 1]
 [2 3 2 3 2 3]
 [0 1 0 1 0 1]
 [2 3 2 3 2 3]]

numpy 位操作函数

np.binary_repr(num, width=None):

将一个整数转换为二进制表示

numpy.bitwise_and(a,b):

对数组元素执行位与操作

numpy.bitwise_or():

对数组元素执行位或操作

numpy.invert(a,):

计算位非

numpy.left_shift(a,n):

向左移动二进制表示的n位

numpy.right_shift(a,n):

向右移动二进制表示的n位

numpy 字符串操作函数

numpy 字符串函数是对Python字符串函数的包装

numpy.char.add():

函数执行按元素的字符串连接

numpy.char.multiply():

执行多重连接

numpy.char.center():

此函数返回所需宽度的数组,以便输入字符串位于中心,并使用fillchar在左侧和右侧进行填充

numpy.char.capitalize():

返回字符串的副本,其中第一个字母大写

numpy.char.title():

返回输入字符串的按元素标题转换版本,其中每个单词的首字母都大写

numpy.char.lower():

返回一个数组,其元素转换为小写

numpy.char.upper():

返回一个数组,其元素转换为大写

numpy.char.split():

返回输入字符串中的单词列表, 无法使用正则表达式进行模式匹配

numpy.char.splitlines():

返回数组中元素的单词列表,以换行符分割

numpy.char.strip():

返回数组的副本,其中元素移除了开头或结尾处的特定字符

numpy.char.join():

返回一个字符串,其中单个字符由特定的分隔符连接

numpy.char.replace():

返回字符串副本,其中所有字符序列的出现位置都被另一个给定的字符序列取代

numpy.char.decode():

对数组中的字符串使用特定编码

numpy.char.encode():

对数组中的每个元素使用某种编码方式解码

numpy 数学函数

numpy.sin(), numpy.cos(), numpy.tan():

输入需要是弧度值

numpy.arcsin(), numpy.arccos(), numpy.arctan():

返回值是弧度值

numpy.degrees():

可以将弧度值转化为角度值

numpy.around(a,decimal):

将a四舍五入到要求的精度

numpy.floor(a,):

返回不大于输入参数的最大整数

numpy.ceil(a,):

返回不小于出入参数的最小整数

numpy.reciprocal(a,):

返回参数逐元素的倒数

numpy.power(a,b):

将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂

numpy.mod(a,b):

返回输入数组中相应元素的除法余数

numpy 统计函数

numpy.max(a,axis,),numpy.min(a,axis,):

返回a在axis方向上的最大/小值

numpy.argmax(a,axis,),numpy.argmin(a,axis,):

返回a在axis方向上的最大/小值的索引

numpy.ptp(a,axis,):

返回沿轴的值的范围(最大值 – 最小值)

numpy.percentile(a, q, axis):

返回数组a在axis方向上q分位数值

numpy.median(a,axis,):

返回数组a在axis方向上的中值

numpy.mean(a,axis,):

返回数组在axis方向上各元素的算术平均值

numpy.average(a,axis,weights):

返回数组在axis方向上的加权平均数

numpy.std(a,axis,):

返回数组在axis方向上的标准差

numpy.var(a,axis,):

返回数组在axis方向上的方差

numpy 排序, 搜索和计数函数

numpy 提供的排序算法

种类速度最坏情况工作空间稳定性
quicksort(快速排序)1O(n^2)0
mergersort(归并排序)2O(n*log(n))~n/2
heapsort(堆排序)3O(n*log(n))0

numpy.sort(a,axis,):

在指定坐标轴上对数组a进行升序排列

numpy.argsort(a,axis,):

在指定坐标轴上进行升序排列, 返回各元素在排序之后的索引

numpy.max(a,axis,), numpy.min(a,axis,):

返回在指定坐标轴方向上的最大/小值

numpy.argmax(a,axis,), numpy.argmin(a,axis,):

返回在指定坐标轴方向上的最大/小值的索引

numpy.nonzero(a,):

返回数组a中的非零元素的索引

numpy.where(condition,x,y):

当condition为True时, 返回x; 当condition为False时, 返回y

numpy 线性代数函数

numpy.dot():

返回两个数组的点积

numpy.vdot():

返回两个向量的点积

numpy.inner():

返回一维数组的向量内积

numpy.matmul():

返回两个数组的矩阵乘积

https://www.jianshu.com/p/1edb7519779e

Python量化投资网携手4326手游为资深游戏玩家推荐:《《我的世界》:稀有地图种子大公开!僵尸村庄竟然是这样的?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论