什么是numpy?
一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算
为什么要学习numpy?
快速、方便、科学计算的基础库
方法:array、arange
import numpy as np
#创建数组
a = np.array([1,2,3,4,5,6])
b = np.array(range(1,6))
c = np.arange(1,6,2) #第三个参数代表步长
print(a)
print(b)
print(c)
输出:
[1 2 3 4 5 6]
[1 2 3 4 5]
[1 3 5]
二维数组
#二维数组
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
输出:
[[1 2 3]
[4 5 6]
[7 8 9]]
三维数组
#三维数组
a = np.array([[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]])
print(a)
输出:
[[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]]
可以这样理解,不同维度之间是一种包含关系,维度的提升就是在外层加一个[ ]。
打印数组的类名、类型
#数组类名
print(type(a))
#数组类型
print(a.dtype)
输出:
<class 'numpy.ndarray'>
int64
这里int代表数组元素为整型,64代表电脑位数。
#创建数组的同时指定类型
a = np.array([1,2,3,0],dtype=np.bool)
print(a)
print(a.dtype)
输出:
[ True True True False]
bool
修改数组数据类型
方法:astype
#修改数组数据类型
a = np.array([1,2,3])
b = a.astype('int8')
c = a.astype('i1')
d = a.astype(np.int8)
print(a.dtype) #a的数据类型不变
print(b.dtype)
print(c.dtype)
print(d.dtype)
输出:
int64
int8
int8
int8
补充:
如果要保留小数位数,除了python原round方法,还可以使用numpy的round方法,如:
#保留小数位数
a = np.array([random.random() for i in range(10)])
b = np.round(a,2) #保留两位小数
print(a)
print(b)
输出:
[0.34511111 0.70160565 0.01341288 0.49067036 0.18651036 0.96368228
0.76037015 0.17221709 0.19706091 0.01442142]
[0.35 0.7 0.01 0.49 0.19 0.96 0.76 0.17 0.2 0.01]