numpy 数据类型
| 数据类型 | 描述 |
|---|---|
| bool_ | 存储为一个字节的布尔值(True, False) |
| intc | 相当于C中的int类型, 通常为int32, 或者int64 |
| intp | 用于索引的整数, 相当于C中的size_t类型, 通常为int32,或int64 |
| int8 | 字节(-128~127) |
| int16 | 16位整数(-32768~32767) |
| int32 | 32 位整数(-2147483648 ~ 2147483647) |
| int64 | 64 位整数(-9223372036854775808 ~ 9223372036854775807) |
| uint8 | 8 位无符号整数(0 ~ 255) |
| uint16 | 16 位无符号整数(0 ~ 65535) |
| uint32 | 32 位无符号整数(0 ~ 4294967295) |
| uint64 | 64 位无符号整数(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(快速排序) |
1 | O(n^2) | 0 | 否 |
mergersort(归并排序) |
2 | O(n*log(n)) | ~n/2 | 是 |
heapsort(堆排序) |
3 | O(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():
返回两个数组的矩阵乘积









网友评论