之前安装的python版本是3.7
各种库都是自己一个一个下载安装的 很操心 各种缺功能
后来发现了anaconda
啊 真是一个好东西
简单来说 它就是一个涵盖大部分常用库的python包
一次安装终身爽
- 生成NumPy数组
# anaconda发行版 py:3.6.5
# 生成数组
import numpy as np #导入库 x=np.array([1.0,2.0,3.0]) print(x) print(type(x)) #格式类型
输出:
[1. 2. 3.] <class 'numpy.ndarray'>
- NumPy的算术运算
x=np.array([1.0,2.0,3.0]) y=np.array([2.0,4.0,6.0]) # 若要计算 数组元素个数需要相同 print(x+y) print(x-y) print(x*y) print(x/y)
输出:
[3. 6. 9.] [-1. -2. -3.] [ 2. 8. 18.] [0.5 0.5 0.5]
-
- NumPy的N维数组
a=np.array([[1,2],[3,4]])
print(a)
print(a.shape) #得到矩阵a的形状 长*宽
print(a.dtype) #得到矩阵a的数据类型
输出:
[[1 2] [3 4]] (2, 2) int64
- 广播功能
print(a*10) #广播功能 a为2*2矩阵 10为1*1矩阵 将10扩展成为元素相同的2*2矩阵再计算 a=np.array([[1,2],[3,4]]) b=np.array([10,20]) print(a*b) #一维数组b先扩展成为二维数组 再进行计算
输出:
[[10 20] [30 40]] [[10 40] [30 80]]
- 访问元素
- 索引访问
x = np.array([[30,31],[32,33],[35,36]]) print(x) print(x[0]) #打印第一行 print(x[0][1]) #打印第一行的第二个元素 print('-')
输出:
[[30 31] [32 33] [35 36]] [30 31] 31
2.for循环访问
for row in x: print(row)
输出:
[30 31] [32 33] [35 36]
3.变为数组访问
x=x.flatten() #将x转换为一维数组 print(x) print(x[np.array([0,2,4])]) #选择出索引为0,2,4的元素 这种方法利于筛选元素
输出:
[30 31 32 33 35 36]
[30 32 35]