numpy
numpy是一个在Python中做科学计算的基础库,重点处理数值计算。numpy还是大部分Python科学计算库的基础库,多用于在大型、多维数组上执行数值运算。
numpy的数据类型
- numpy的特有数据类型:ndarry(数组矩阵)
- 变量.dtype:显示数组存放元素的数据类型
- 变量.astype(‘数据类型’):强制转换数据类型
- numpy.round(变量,保留小数位):对数组中元素按要求保留小数
import numpy as np
import random
t1 = np.array(range(0, 10, 2))
t2 = np.arange(0, 10, 2)
print(t1)
print(t1.dtype) # 显示当前数组元素的数据类似
print(type(t1))
print(t2)
print(t2.dtype)
print(type(t2))
t3 = np.array([1, 1, 0, 1], dtype='float') # 参数dtype可以指定数组中存放元素的数据类型
t3_ = t3.astype('bool') # 强制转换数组中元素数据类型
t4 = np.array([random.random() for i in range(6)])
t4_ = np.round(t4, 2) # 返回新对象,不对原对象做更改
print(t3)
print(t3_)
print(t4)
print(t4_)
执行结果:
[0 2 4 6 8]
int32
<class ‘numpy.ndarray’>
[0 2 4 6 8]
int32
<class ‘numpy.ndarray’>
[1. 1. 0. 1.]
[ True True False True]
[0.04574777 0.62168215 0.50774056 0.46428347 0.25248298 0.42769293]
[0.05 0.62 0.51 0.46 0.25 0.43]
- 常见数据类型
数组的形状
- 变量.shap:当为一维数组时返回(长度,);当为二维数组时返回(行,列);当为三位数组时返回(块,行,列)
- 变量.reshap((个,)/(行,列)/(块,行,列)):将已有数组重塑成指定的一维/二维/三维数组
- 变量.flatten():将数组按行列平铺展开成一维数组
import numpy as np
a = np.array(([[1, 2, 3, 4], [5, 6, 7, 8]]))
print(a)
print(a.shape) # 查看数组形状
a1 = a.reshape((8,))
a2 = a.reshape((1,8)) # 一维数组与只有一行的二维数组不同
a3 = a.reshape((4, 2)) # 修改数组形状
print(a) # 不对原数组做修改
print(a1)
print(a2)
print(a3)
a_ = a.flatten() # 将数组按行列平铺展开成一维数组
print(a_)
数组的计算
- 数组加减乘除一个常数项:对数组中每一个元素都作运算(numpy特有的广播机制)
- 数组加减乘除一个数组,存在某一维度相同时,相对应的位置作运算