python:numpy
NumPy:
Numerical Python,即数值Python包,是Python进行科学计算的一个基础包,因此要更好理解和掌握Python科学计算包,尤其是pandas,需要先行掌握NumPy库的用法
NumPy系统是Python的一种开源的数值计算扩展,是一个用python实现的科学计算包。
包括:
1.一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为ndarray(N-dimensional array object);
2.用于对整组数据进行快速运算的标准数学函数,ufunc(universal function object);
3.用于整合C/C++和Fortran代码的工具包;
4.实用的线性代数、傅里叶变换和随机数生成函数.numpy和稀疏矩阵运算包scipy配合使用更加方便。
ndarray 注意事项
### ndarray:N-dimensional array,N维数组
### 一种由相同类型的元素组成的多维数组,元素数量是事先指定好的
### 元素的数据类型由dtype(data-type)对象来指定,每个ndarray只有一种dtype
类型
### 大小固定,创建好数组时一旦指定好大小,就不会再发生改变
import cv2
import matplotlib.pyplot as plt
import numpy as np
'''圆括号存放列表'''
idea=np.array(
[
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]
]
)
print(idea)#输出矩阵
print("打印维度")
print(idea.ndim)#打印维度
print("打印矩阵行列")
print(idea.shape)#打印矩阵行列
print("打印矩阵元素数据类型")
print(idea.dtype)#打印矩阵元素数据类型
print("矩阵元素的个数:")
print(idea.size)#矩阵元素的个数
marry=np.array(
[
[
[
[1,2,3,4,5,6],
[10,20,30,40,50,60]
],
[
[111,211,311,411,511,611],
[121,221,321,421,521,621]
]
],
[
[
[1,2,3,4,5,6],
[10,20,30,40,50,60]
],
[
[11,21,31,41,51,61],
[12,22,32,42,52,62]
]
]
]
)
print(marry)#输出矩阵
print("打印维度")
print(marry.ndim)#打印维度
print("打印矩阵行列")
print(marry.shape)#打印矩阵行列
print("打印矩阵元素数据类型")
print(marry.dtype)#打印矩阵元素数据类型
print("矩阵元素的个数:")
print(marry.size)#矩阵元素的个数
零矩阵
import numpy as np
idea=np.zeros(5)
print(idea)
print('\n')
# 维度定义 用的是 元组
idea1=np.zeros((3,4))
print(idea1)
全1矩阵
import numpy as np
idea=np.ones((5,6),dtype=np.int)
print(idea)
idea1=np.ones((5,6,7),dtype=np.float)
print(idea1)
矩阵随机数 主要用来填充数
import numpy as np
idea=np.empty((3,4),dtype=np.int)
print(idea)
常见的数据创建方式
import numpy as np
idea=np.arange(2,20,3)#20结束 但是取不到20 3是步长
print(idea)
idea1=np.linspace(2,20,3) # 等差数列 3是元素个数
print(idea1)# 这个可以取到20
idea2=np.logspace(2,20,3)# 等比数列
#第一个值代表10的2次方,第二数代表10的20次方,第三个数代表生成的元素的个数
print(idea2)
import numpy as np
#一维向高维转化
idea=np.arange(2,20,2).reshape((3,-1))# -1 则会自动计算维度值
print(idea)
random 生成随机数
idea=np.random.random((2,3,4));
print(idea)
random.random_sample0生成每一位随机数的方法
import numpy as np
idea=np.random.random_sample(7)
print(idea)
idea1=np.random.random_sample((5,4))
print(idea1)
ndarry的shape属性巧算
总结:
·先规范显示出数组
·层层去中括号对,直到无中括号对,每去一层,一个维度,去掉一层[],后的元素个数(逗号隔开)即该维度的元素个数
NumPy中的数据类型
idea=np.arange(2,10,2)
print(idea)
print(idea.dtype)#打印数据类型
print(idea.astype('float'))# 变成浮点型
print(idea.astype('|U2'))#使用unicode编码,每个元素长度为2
print(idea.astype('|S2'))#使用string进行编码(转换为十六进制编码),每个元素长度为2
改变array形状--reshape
import numpy as np
elements=np.arange(20)
print(elements)
print(elements.reshape(4,5))#形状是可变的,但是元素总数是不可变
import numpy as np
elements=np.arange(20)
print('')
print(elements)
print('')
print(elements.reshape(4,-1))#形状是可变的,但是元素总数是不可变
print('')
print(elements.reshape(2,-1))#形状是可变的,但是元素总数是不可变
posted on 2018-05-31 11:52 Indian_Mysore 阅读(113) 评论(1) 编辑 收藏 举报