02Numpy基础(上)

安装虚拟环境

复制代码
//查看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)

注意:现规定,在本系列教程中,一维数组称为向量,二维数组称为矩阵

相关推荐
TheBestRucy1 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_965958462 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
AI_小站2 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
微小冷3 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
felixking3 小时前
C++20 协程
开发语言·c++·协程
weixin_431600443 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了3 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源
DeepVisionary4 小时前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化
Zane1994124 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言