数据
一个数据→代表一个含义。
一组数据→代表一个or多个含义。
数据可划分为:一维数据,二维数据,多维数据,高维数据。
一维数据:表现形式→列表和集合。
二维数据:由等多个一维数据构成,是一维数据的组合形式。表现形式→列表。
多维数据:由一维或二维在新维度上扩展形成。表现形式→列表。
高维数据:仅利用最基本的二元关系展示数据间的复杂结构。表现形式→字典类型or数据表示格式JSON,XML,YAML。
维度
维度:一组数据的组织形式。
Numpy
Numpy:是一个开源的python科学计算基础库
*提供强大数据对象nadarray
*广播功能函数
*整合C/C++/Fortran代码的工具
*线性代数,傅里叶变换,随机数生成等功能
表示:import numpy as np #表示将numpy库命名为np(别名可以任意取名)
N维数组对象:nadarry
eg.
代码演示:
代码演示:
import numpy as np
def pySum():
a = [0,1,2,3,4]
b = [9,8,7,6,5]
c = []
for i in range(len(a)):
c.append(a[i]**2 +b[i]**3)
return c
print(pySum())
nadarray构成分为2块
实际数据
描述元数据(数据维度,数据类型)
nadarray数组一般要求所有元素类型相同,下表从0开始。
ndarray对象属性
np.array()生成一个ndarray数组
np.ndim --秩
np.shape--对象的尺度
np.size--数组的元素个数
np.dtype--数组的元素类型
np.itensize--数组的大小,以字节为单位
ndarray数组的创建方法
eg. x = np.array(list/tuple)
np.ones((2,3,4))---表示2个数组,一个数组中有3个list,1个list中有4个元素。
NumPy中其他函数创建ndarray数组
函数
np.linspace()→根据起止数据等间距填数据,形成数组。
np.concatenate() →将两个或多个合并成一个新的数组
维度变化
np.reshape() →不改变数组元素,返回一个shape形状的数组,原数组不变
np.flatten() →对数组进行降维,返回折叠后的一维数组,原数组不变
np.swapaxes(ax1,ax2) →将数组几个维度中两个维度进行调换
np.resize(shape) →与np.reshape()功能一致,但修改原数组
Ndarray的操作
原函数
np.abs(x) np.fabs(x) → 数组各元素的绝对值
np. sqrt(x) →数组各元素的平方根
np.square(x) →数组各元素的平方
np.log(x) np.log10(x) np.log2(x) →数组的自然对数,以10为底的对数,以2为底的对数
np.ceil(x) np.floor(x) →ceiling值 or floor值
np.rint(x) →数组元素四舍五入的值
np.modf(x) →数组小数和整数部分以2个独立数组形式返回
np.exp(x) →数组元素的指数值
np.sign(x) →数组元素的符号值
代码中的符号含义
+→加
-→减
*→乘
/→除
**→幂次方
>大于 <小于 >=大于等于 <=小于等于 ==是否等于 !=不等于
运算函数
np.maximum(x,y) np.fmax() →最大值
np.minimum(x,y) np.fmin() →最小值
np.mod(x,y) →元素级的模运算
np.copysign(x,y) →将数组y中元素值的符号给数组x对应元素
自身动手做的心得 意外收获
eg. 用numpy创建一个二维或多维正态分布随机数,保留符合[0, 1)的数,然后求平均值。
选取的函数:np.random.randn(x,y) x→表示维度中的列表个数 y→表示一个维度里面的一个列表的元素个数
代码展示
求平均数的方法
利用np.mean()函数
代码展示
求中间数的方法
利用np.median()函数
代码展示