网站从哪里找的,wordpress如何写网站,章贡区建设局网站,深圳外贸公司招聘信息学习链接#xff1a;http://www.runoob.com/numpy/numpy-tutorial.html
简介#xff1a;
numPy是python语言的一个扩展库#xff0c;是一个运行非常快的数学库#xff0c;主要用于数组计算。它支持大量的维度与数据运算还针对数组运算提供大量的数学函数库。它包含#xf…学习链接http://www.runoob.com/numpy/numpy-tutorial.html
简介
numPy是python语言的一个扩展库是一个运行非常快的数学库主要用于数组计算。它支持大量的维度与数据运算还针对数组运算提供大量的数学函数库。它包含一个强大的n维数组对象ndarray、广播功能函数、整合c/c/fortran的工具、线性代数、傅里叶变化与随机数生成等功能
numPy应用
numpy通常与SciPy(Scientific Python)和Matplotlib(绘图库)配合使用来代替MatLab构成为强大的科学计算环境帮助我们通过Python学习数据科学或者机器学习
安装
$pip install numPy
测试安装成功from numpy import * #导入numpy库eye(4) #生成对角矩阵
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
使用
*numpy.linspace()
像python中的range一般返回有指定的间隔产生的均匀间隔的数组值得注意的是有dtype这个参数
*numpy. arange()
值在半开区间里被生成[start,stop)对于int类型的参数函数等同于python中的range但是返回一个ndarray而不是list
但是对于非整形的step参数每次返回的结果往往不一致对于这种情况选择numpy.linspace()更好
*numpy.zeros()
返回由0填充的数组能指定填充的0的dtype
*numpy.column_stack()
将一系列的1-D我认为是1维arrays堆叠为column以此来将他们转化为一个2维array二维数组被堆叠为和原来的一样
*
*list to array
参考链接https://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.htmla [1, 2]np.asarray(a)
array([1, 2])
numpy random模块参考链接https://www.cnblogs.com/hhh5460/p/4324967.html#top官方文档翻译
*np.random.randint(low[,high,size,dtype])
参考链接https://www.jianshu.com/p/36a4bbb5536enp.random.randint(0,20,4)
array([ 1, 9, 17, 11])np.random.randint(0,20,[4,1])#结果中包含4个数组每个一个
array([[16],
[19],
[ 5],
[ 9]])np.random.randint(0,20,[4])
array([ 4, 6, 11, 14])np.random.randint(0,20,4,1)
Traceback (most recent call last):
File , line 1, in
File mtrand.pyx, line 973, in mtrand.RandomState.randint
TypeError: data type not understood
1np.random.normal()生成高斯分布的概率密度随机数
参考链接https://blog.csdn.net/qiqiaiairen/article/details/52505667
这个方法返回一个正态分布的数组正态分布、又称高斯分布、钟形曲线
numpy.random.normal(loc0.0, scale1.0, sizeNone)
参数含义
locfloat类型概率分布的均值是对应于整个分布的中心而言
scalefloat类型概率分布的标准差标准差反应集合内个体的离散程度越大越离散对应于分布的宽度而言即高度一定scale越大越矮胖scale越小越瘦高
sizeint or tuple of ints类型输出的shape默认为None只输出一个值
这个方法返回一个正态分布的数组numpy.random.normal(0,1,20)
array([-0.98305884, -0.79340779, 0.69865242, 1.10930775, 0.17458143,
0.88452427, 0.92862304, -1.27837941, -0.88772762, 0.86100981,
3.06262977, 1.66589188, -1.34269035, -0.13672729, 0.01154996,
-1.88304306, 0.35375017, -0.88784919, 2.77849309, 0.68915905])
2np.range与range
range是python自带的库
参考链接https://blog.csdn.net/lanchunhui/article/details/49493633
三个参数S,E,Step_size第一个参数是起点第三个是步长返回一个不包括第二个参数的数据序列
numpy里的数据类型、数据类型对象dtype
numpy 支持的数据类型比 Python 内置的类型要多很多基本上可以和 C 语言的数据类型对应上其中部分类型对应为 Python 内置的类型。详情见参考链接
数据类型对象 (dtype)
dtype是用来描述与数组对应的内存区域如何使用懵逼不只有一种使用方法吗这依赖如下几个方面
数据的类型整数浮点数或者 Python 对象
数据的大小例如 整数使用多少个字节存储
数据的字节顺序小端法或大端法
字节顺序是通过对数据类型预先设定或来决定的。意味着小端法(最小值存储在最小的地址即低位组放在最前面)。意味着大端法(最重要的字节存储在最小的地址即高位组放在最前面)。
在结构化类型的情况下字段的名称、每个字段的数据类型和每个字段所取的内存块的部分
如果数据类型是子数组它的形状和数据类型
dtype 对象是使用以下语法构造的
numpy.dtype(object, align, copy)
object - 要转换为的数据类型对象
align - 如果为 true填充字段使其类似 C 的结构体。继续懵逼
copy - 复制 dtype 对象 如果为 false则是对内置数据类型对象的引用
创建dtype的例子dtnp.dtype(np.int32)# 使用标量类型#不要忘记前面的np.print(dt)
int32#直接输出的这个之后有列举了一些创建dtype的其他实例介绍了一些特殊的格式如
int8, int16, int32, int64 四种数据类型可以使用字符串 i1, i2,i4,i8 代替
特殊的有一个字节顺序标注的
import numpy as np
# 字节顺序标注
dt np.dtype(
print(dt)
#结果
int32
之后又展示了结构化数据类型的创建
# 类型字段名可以用于存取实际的 age 列
import numpy as np
dt np.dtype([(age,np.int8)])
a np.array([(10,),(20,),(30,)], dtype dt)
print(a[age])
#结果:
[10 20 30]
问题
因为上面哪个“dtype是用来描述与数组对应的内存区域如何使用”的疑惑还没有解决而且在后面我也没有看到dtype是怎样使用的只是输出了int32之类的东西难道上面哪一个“结构化”是使用
而且numpy的一些方法如numpy.linspace()又dtype这个参数我也不知道有什么用。