此为实验楼楼+机器学习前置课程NumPy 数值计算基础课程的初步总结,这篇教程就是一个api文档,看的头太疼了,就好比你初学Linux,然后人家给你一个指令手册叫你从头看到底。
这里就简单记录了一些数组的用法,其他的用到的时候直接去查就行了
类型
所有类型
类型 | 解释 |
---|---|
bool | 布尔类型,1 个字节,值为 True 或 False。 |
int | 整数类型,通常为 int64 或 int32 。 |
intc | 与 C 里的 int 相同,通常为 int32 或 int64。 |
intp | 用于索引,通常为 int32 或 int64。 |
int8 | 字节(从 -128 到 127) |
int16 | 整数(从 -32768 到 32767) |
int32 | 整数(从 -2147483648 到 2147483647) |
int64 | 整数(从 -9223372036854775808 到 9223372036854775807) |
uint8 | 无符号整数(从 0 到 255) |
uint16 | 无符号整数(从 0 到 65535) |
uint32 | 无符号整数(从 0 到 4294967295) |
uint64 | 无符号整数(从 0 到 18446744073709551615) |
float | float64 的简写。 |
float16 | 半精度浮点,5 位指数,10 位尾数 |
float32 | 单精度浮点,8 位指数,23 位尾数 |
float64 | 双精度浮点,11 位指数,52 位尾数 |
complex | complex128 的简写。 |
complex64 | 复数,由两个 32 位浮点表示。 |
complex128 | 复数,由两个 64 位浮点表示。 |
设定类型
1 | import numpy as np |
改变类型
1 | a.astype(int) |
数组
array
普通的数组
1 | np.array([[1, 2, 3], [4, 5, 6]]) |
arange
生成指定范围的数组
numpy.arange(start, stop, step, dtype=None)
1 | np.arange(3, 7, 0.5, dtype='float64') |
linspace
用于在指定的区间内返回间隔均匀的值
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
1 | np.linspace(start=0, stop=10, num=20, endpoint=True) |
ones
用于快速创建数值全部的1
多维数组
numpy.ones(shape, dtype=None, order='C')
1 | np.ones(shape=(2,3)) |
zeros
用于快速创建数值全部为0
的多维数组
numpy.zeros(shape, dtype=None, order='C')
1 | np.zeros(3) |
eye
二维数组,k
对角线上的值为1,其余为0
numpy.eye(N, M=None, k=0, dtype=<type 'float'>)
1 | np.eye(5, 4, 1) |
从已知数据创建
frombuffer(buffer)
:将缓冲区转换为1
维数组。fromfile(file,dtype,count,sep)
:从文本或二进制文件中构建多维数组。fromfunction(function,shape)
:通过函数返回值来创建多维数组。fromiter(iterable,dtype,count)
:从可迭代对象创建1
维数组。fromstring(string,dtype,count,sep)
:从字符串中创建1
维数组。
1 | np.fromfunction(lambda a, b : a * b, (4,3)) |
ndarray
参数:
shape
:数组的形状。dtype
:数据类型。buffer
:对象暴露缓冲区接口。offset
:数组数据的偏移量。strides
:数据步长。order
:{'C','F'}
,以行或列为主排列顺序。
随机数组
numpy.random.rand(d0, d1, ..., dn)
方法的作用为:指定一个数组,并使用 [0, 1)
区间随机数据填充,这些数据均匀分布。
numpy.random.randn(d0, d1, ..., dn)
与 numpy.random.rand(d0, d1, ..., dn)
的区别在于,前者是从标准正态分布中返回一个或多个样本值。
randint(low, high, size, dtype)
方法将会生成 [low, high)
的随机整数。注意这是一个半开半闭区间。
random_sample(size)
方法将会在 [0, 1)
区间内生成指定 size
的随机浮点数。
choice(a, size, replace, p)
方法将会给定的数组里随机抽取几个值,该方法类似于随机抽样。
啊,我不行了,api看的头疼