安装虚拟环境
//查看conda版本
conda -V
//查看已有的虚拟环境
conda env list
//创建虚拟环境
conda create -n env_name python=x.x
//指定位置创建虚拟环境
conda create --prefix D:/path/to/myenv python=3.14
//删除虚拟环境
conda remove -n env_name --all
//激活虚拟环境
conda activate env_name
//关闭虚拟环境
conda deactivate
安装numpy
//conda虚拟环境安装
conda install numpy
//pip安装
pip install numpy
//验证(推荐使用jupyter)
import numpy as np
print(np.__version__)
//jupyter设置中文
pip3 install jupyterlab-language-pack-zh-CN
数组基础
导入numpy库(conda环境为例)
import numpy as np
print(np.__version__)
数据类型
1.只需要知道数据类型分为整数型和浮点型数组
2.使用语法np.array(1,2,3)
3.print输出数组时逗号消失的好处:一是避免与列表混淆,二是输出结果逗号可以与小数点区分开
4.同化定理
当数组都是整数的时候,那么插入一个小数就会被强行截断转化为整数
当数组为浮点数的时候,那么插入一个整数就会强行转化为浮点数
import numpy as np
arr2=np.array([1,2,3])
arr2[0]=1.2
print(arr2)
5.共同改变定理(整数型与浮点型相互转化)
界限严格,但是如果全体共同改变,那么就可以做到整数型与浮点型相互转化
规定的方法是 .astype()
ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
#dtype指定目标类型
import numpy as np
#规定一个整数型
arr1=np.array([1,2,3,4,5,6,7,8,9],dtype=np.int32)
arr_float=arr1.astype(np.float32)
print(arr_float)
6.全体共同改变不只是通过上述np模块的astpye方法,还有如下情况
#整数型数组与浮点型数组做运算
#整数型数组遇到除法,不论运算对象是不是整数,都会转化为浮点型数组
#整数型数组与浮点数做运算
arr=np(arr1+0.0)
7.整数型数组很好升级,但是浮点型数组一般不会降级
数组维度(有点绕)
1.一维数组和二维数组
一维数组一层中括号 1,1,1
二维数组两层中括号 \[1,1,1]
\[\[1,1,1\]\]
2.有些函数需要传入数组的形状参数(矩阵的形式)
注意:
维数就是我有几个方向
numpy数组的某个轴,指的是:该数组的某个维度的方向,其方向从索引号由底到高。许多numpy方法或函数在调用时,常常需要指定一个关键参数"axis=X",它表示的是沿哪个轴的方向进行运算(例如,求均值,方差等),这里的X表示的是轴的索引号(axis=0表示轴0,axis=1表示轴1,...,依此类推)。
一维数组有一个方向-默认按轴0方向(列方向)排列形状参数:x或者(x,)x列
二维数组形状参数:(x,y)一个平面或者一个矩阵(几行几列)
三维数组有三个方向-轴0,轴1,轴2形状参数:(x,y,z)第一个数规定有几个平面(类似于高),后两个数规定每个平面如何组织(几行几列)

numpy数组有几个基本属性如下,可以帮助理解
-
ndarray.ndim: 这个属性表示数组的轴数,也就是维度的数量。例如,一个一维数组的ndim为1,二维数组的ndim为2,以此类推。
-
ndarray.shape: 这个属性返回一个元组,表示数组在每个维度上的大小。对于一个n行m列的矩阵,shape将是(n,m)。shape元组的长度就是数组的维度数,即ndim。
-
ndarray.size: 这个属性表示数组中元素的总数。它等于shape元组中所有元素的乘积
import numpy as np
#定义一个三维数组
arr2=np.ones((3,3,3))
print(arr2)

注意一下数组的维度(通过中括号的数量),后面有些函数比如数组的拼接需要两个数组是同维度
不同维度数组之间的转换
方法 .reshape(shape参数)
注意:
1.不论一二维数组如何转换,均要使用.reshape(shape参数)
2.该方法神奇的是,给定了其他维度的数值后,剩下一个维度可以给-1,让它自己去算。
shape(10)一行十列-----shape(2,5)二行五列
#一维数组转为二维数组
arr = np.array([1,2,3,4,5,6,7,8,9,10])#(10)
arr2=arr.reshape(2,-1)#(2,5)
print(arr2)
注意:现规定,在本系列教程中,一维数组称为向量,二维数组称为矩阵