电梯门0.9*2,里面1.4*1.4*2.2,能放进去2.35*0.4*1.05的家具吗?

python中调用NumPy库,运行没有报错,说明安装完成

as np:将import的numpy给出一个别名,即引入模块的别名。这里可以去掉as np,也可将np改成其他的名字
尽管别名可以省略或者更改,但是建议使用上述约定的别名

维度:一组数据的组织形式
一维数据:由对等关系的有序或无序数据构成,一般采用线性方式组织。对应列表、数组、集合等概念
列表和数组:都是表示一组数据的有序结构。列表的数据类型可以不同,数组的数据类型相同
二维数据:由多个一维数据构成,是一维数据的组合形式。表格是电信的二维数据,其中表头可以是二维数据的一部分,也可是之外的部分
多维数据:由一维或二维数据在新维度上扩展而形成的
高维数据:仅利用最基本的二元关系展示数据间的复杂结构。对应键值对,如湖南-长沙、陕西-西安等

1)提供一个强大的N维数组对象ndarray,也叫数组
2)提供一组广播功能的函数,用于数组之间计算
3)整合C/C++/Fortran代码,并且提供整合这些代码的工具
4)提供线性代数、傅里叶变换、随机数生成等功能

用以下例子表明numpy和正常运算的区别:计算A2+B3,A、B是一维数组

  1. 数组对象可以去掉元素间运算所需的循环,使一维数据更像单个数据
  2. 设置专门的数组对象,提示运算速度
  3. 在科学计算中,一个维度所有数据的类型往往相同。所以数组对象采用相同的数据类型,有利于节省运算和存储空间

ndarray由2部分构成:实际的数据、表述这些数据的元数据(数据维度、数据类型等)
ndarray要求所以有元素类型相同(同质),数组下标从0开始

a # 直接显示时,会用array()来表明数组类型(如下图) print(a) # 打印时用[]来表示维度关系,元素间以空格来分离

ndarray的2个基本概念:1)轴(axis):保存数据的维度;2)秩(rank):轴的数量,或者维度的数量,即数组有多少个维度
轴和秩是描述ndarray类型的基本向量和方式

尺度,对于矩阵n行m列
元素个数,相当于.shape中n*m的值
每个元素大小,以字节为单位
8位无符号整数,取值:[0, 225]
16位长度的整数,取值:[-3] 16位半精度浮点数:1位符号位,5位指数,10位尾数
32位半精度浮点数:1位符号位,8位指数,23位尾数
64位半精度浮点数:1位符号位,11位指数,52位尾数
复数类型,实部和虚部都是32位浮点数 复数类型,实部和虚部都是64位浮点数

Python语法仅支持整数、浮点数和复数3种数据类型

  1. 能够符合在科学计算(数据多)对存储和性能的高要求
  2. 对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能,且有助于程序员对程序的规模合理评估

ndarray最好是同质的数组类型,但也可以包含非同质的元素(如下代码)

# .shape只看到2个元素,但是没有进一步分析 # 非同质ndarray,将每个元素认为是一个对象类型(dtype('0'))

非同质ndarray无法发挥UnmPy的优势,应该尽量避免

  1. Python中的列表、元组
# 直接将列表、元组当相关参数输入给np.array()函数 # 可以用dtype指定每个元素的数据类型【如果不指定,NumPy将根据读入的数据关联一个dtype类型】

只要元组和列表包含的数据个数相同,可以将列表和元组回合,一起混合使用,来创建

根据shape生成一个全1数组,shape是元组类型(浮点数类型)
根据shape生成一个全0数组,shape是元组类型(浮点数类型)
根据shape生成一个数组,每个元素值都是val
创建一个正方的n*n单位矩阵,对角线为1,其余为0(浮点数类型)
# 生成多维数组。最外层有2个元素,每个元素有3个维度,每个维度有4个元素
根据数组a的形状生成一个全1数组
根据数组a的形状生成一个全0数组
根据数组a的形状生成一个全val数组
根据起止数据等间距地填充数据
将2个或多个数组合并成1个新数组
# endpoint表示最后一个元素10是否是元素中的一个
不改变数组元素,返回一个shape形状的新数组(保证元素总体个数不发生改变)
将数组n个维度中的2个维度进行调换
对数组进行降维,返回折叠后的一维数组,原数组不变
# 将3维数组变为2维数组。都是24个元素个数,a未改变
# np.int:程序会将元素解析为整数类型,是int32还是int64,是由程序自动调节

astype()方法一定会创建一个新的数组,即使定义一个与原数组类型相同的数组,也会有一个新的数组,即可利用这个特性进行拷贝数组

列表时Python中最原始的数据类型,可能在空间和运算速度比NumPy慢很多。但是更适合传统的或者原生的Python语言语法

对数组的索引:获取数组中特定位置元素的过程
对数组的切片:获取数组元素子集的过程
一维数组的索引和切片(与python列表相似)

# 切片,[开始编号:终止编号(不含):步长] # 索引,每个维度使用逗号分隔,[第一维度,第二维度,第三维度] # 切片,不考虑第一维度,第二维度是1,第三维度是-3的元素 # 切片,第一维度是1,第三维度是所有范围,但是以2为步长

数组与标量之间的运算:运算作用于数组的每一个元素

NumPy一元函数:对ndarray中的数据执行元素级运算的函数

计算数组x各元素的绝对值
计算数组x元各素的平方根、平方
计算数组x各元素的自然对数、10底对数、2底对数
计算数组x各元素的ceiling值(大于元素的最小整数值)、floor值(小于元素的最大整数值)
计算数组x各元素的四舍五入
将数组x各元素的小数部分和整数部分以2个独立数组返回
计算数组x各元素的普通型和双曲线型三角函数
计算数组x各元素的指数值
计算数组x各元素的符号值,1(+),0,-1(-)

在使用数组时,一定要注意原数组是否被真实改变,
一元函数几乎都是只改变输出结果,不改变原数组(要改变需要重新赋值)

2个数组各元素进行对应运算
元素级的最大值/最小值计算
将数组y中个元素值的符号赋值给数组x
算术比较,产生布尔型数组

一种文件格式,用来存储批量数据
将数据写入CSV文件(将数据保存为CSV文件)

frame:文件、字符串或产生器,可以是.gz或.bz的压缩包
array:存入文件的数组
fmt:写入文件的格式,例如%d(整数)、%.2f(保留2个小数点)、%.18e(科学计算法,保留18位小数点的浮点数)
delimiter:分割字符串,默认是任何空格(写入CSV需呀改成逗号)

unpack:False读入文件写入一个数组,如果True,读入属性将分别写入不同变量

局限性:只能有效存储一维和二维数组

frame:文件、字符串
sep:数据分隔字符串,如果是空串,写入文件为二进制
format: 写入数据的格式

count:读入元素个数,-1表示读入整个文件

c # 【一维数组,没有维度信息】

tofile()写入多维数组,维度信息消失,读取后需要重新定义维度信息
存入是需要知道数组的维度信息和元素类型

# 存入(有原数组的维度信息)
# 读取(有原数组的维度信息)

frame:文件名,以.npy为扩展名,压缩扩展名为.npz

这个方法是以二进制 存储文件,第一行为数组的原始信息(包括维度)

随机数种子,s是给定的种子值

通过重复给定随机数种子,可以生成同一个随机数组

根据数组a的第0轴(最外维度)进行随机排列,改变数组a
根据数组a的第0轴进行随机排列,产生一个新数组,不改变数组a
从一维数组a中以概率p抽取元素,形成size形状的新数组,replace表示是否可以重用元素,默认为Ture
# [171, 105]]) 【设定的这个概率使得越大的数抽到的概率越大】
产生浮点数[0,1)的均匀分布的数组,d0-dn是维度信息
产生具有均匀分布的数组
产生数值是标准正态分布的数组,d0-dn是维度信息
产生具有正太分布的数组,loc均值,scale标准差
产生具有泊松分布的数组,lam随机事件发生概率

NumPy直接提供统计函数,调用方法np.

根据给定轴axis计算数组a相关元素之和
根据给定轴axis计算数组a相关元素的期望
根据给定轴axis计算数组a相关元素的加权平均值
根据给定轴axis计算数组a相关元素的标准差
根据给定轴axis计算数组a相关元素的方差

axis = None是统计函数的标配参数,axis是整数或元组

# 第一维度上,相对应的元素相加,得到一个第二维度和第三维度的数组 # 本例中,第一维度有2个,第1个第一维度+第2个第一维度 # 第二维度上,相对应的元素相加,得到一个第一维度和第三维度的数组 # 本例中,第二维度有3个,在第1个第一维度中:第1个第二维度+第2个第二维度+第3个第二维度;在第2个第一维度中亦然 # 第三维度上,相对应的元素相加,得到一个第一维度和第二维度的数组 # 轴为1时,是第二维度数据,第二维度有3个,所有需要分别指出其加权力度

加权平均数=元素*相应加权之和/权重之和
不设定时,默认哥权重为1,即平均值

计算数组a中元素的最小、大值
计算数组a中元素最小、大值的降一维下标(即获得最小、大值的一维位置)
根据shape将一维下标的index装换成多维下标
计算数组a中元素最大值与最小值差
计算数组a中元素中位数的运算(中值)

axis = 0,黑框,第1个第一维度
axis = 1,红框,第1个第二维度
axis = 2,绿框,第4个第三维度

np.gradient(a):计算数组a中的梯度,当a为多维数组时,返回每个维度梯度
梯度:连续值之间的变化率,即斜率。反应元素的变化率

在XY坐标抽连续三个X坐标应用的Y轴值:a,b,c,b的梯度是(c-a)/2
对于2个顶点数值,是(当前数值-隔壁数值)/1

RBG色彩模式:通过颜色通道变化和叠加得到各种颜色,形成的颜色包括人类实例所能感知的所有颜色

Image:是PIL库中代表一个图像的类(对象)

图像的数组表示:由像素组成的三维矩阵,每个元素是一个RGB值

# 将打开的图片生成一个数组

维度分别是高度、宽度、像素RGB值构成

# 读入图像,并获得RGB值数组 # 改变数组像素,计算补值 # 将数组生成图像对象

convert(L)将彩色变换成灰色图片,生成的数组时一个二维数组,对应的值是灰度值,不是RGB值

# 区间变化,对当前图片的灰度值做一个区间压缩,再扩充一个区间范围(150)
  • 相同或相近色彩趋于白色
  • 略有光源效果:根据灰度变化模拟人类视觉的远近程度
# 预设虚拟深度值为10【取值范围是(0-100)】 # 取图像灰度的梯度值 # 分别取横纵图像梯度值 # 根据深度调整xy方向的梯度值【添加深度对于梯度的影响因素】 # /100对深度值进行归一化 # 构造xy梯度的三维归一化单位坐标系 # 继续整体归一化,uni_x、uni_y、uni_z表示图像平面的单位法向量 # 光源的俯视角度,弧度值 # 光源的方位角度,弧度值 # dx,sy,dz可以看做光源在坐标中的表示 # 光源归一化【梯度与光源相互作用,将梯度转化为灰度】 # 之前各种归一化,都是为了将影响因子局限在0-1之间,以免投影到梯度范围内,产生溢出,但也有不可避免的 # 为了避免数据越界(溢出),将生产的灰度值裁剪至0-255 # clip()舍弃掉少许溢出的灰度值

利用像素之间的梯度值和虚拟深度值对图像进行重构
根据灰度变化来模拟人类视觉的明暗程度

导读:养过花的朋友们应该知道,养花对于*壤的要求是比较高的。好的*壤基质才能养出漂亮的花卉,如果*壤不好,轻则花养不好,重则花直接被养死,养殖兰花也是同样的道理。

养过花的朋友们应该知道,养花对于*壤的要求是比较高的。好的*壤基质才能养出漂亮的,如果*壤不好,轻则花养不好,重则花直接被养死,养殖兰花也是同样的道理。下面给大家介绍几种养殖兰花的*壤基质,保证您的兰花蹭蹭蹭地开。

山泥*以阔叶林或松树林混交林下的最好。它是由多年朽枝落叶沤制成,具有*质疏松、透气、排水、保水性能强,富含腐殖质和多年矿物质等特点。但是山泥*使用前需要暴晒一两天,并过筛分级后备用。

塘泥一般含氮0.%、磷0.16%、钾1%,以质硬色青墨为佳,吸水、排水、保湿、透气性能均好,久受水浸不易溶化,最利于兰花生长。用之前也需暴晒3-5天,以除去泥中的有害物质,并把大中小分装备用。

泥炭*多为黑褐色,具有质地疏松、微酸性,有机物含量多等特点,一般含氮1.4%-2.5%、磷0.4%、钾0.9%,是一种很好的迟效性,它的养分可以缓慢分解为兰花吸收。但是要注意其多偏酸,用时需将其与其他植料配合使用。

此外,木糠、废料、椰壳等切碎晒干后也可以和其他植料混合使用来种植兰花。一些种兰花经验比较丰富的花友,经常用料(花生麸、豆麸、油菜麸和干牛粪等)和各种植料一起搅匀,淋上适量的水分,以塑料桶密封沤制2-3个月使用。

还有,质地相对粘重的山泥*、腐叶*、火烧*等基质,我们最好要掺上百分之十的细砂或者百分之二三十的木糠搅拌均匀之后再使用。如果其他植料酸性较强,花友们则可以加5%-10%的谷壳灰拌匀后使用。

(报告出品方/分析师:天风证券 范张翔 王月)

,一经查实,将立刻删除涉嫌侵权内容。

我要回帖

更多关于 电梯门口能装门吗 的文章

 

随机推荐