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)

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

相关推荐
彧azz11 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
嵌入式学习菌11 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug
matlab代码12 小时前
基于matlab数字图像处理的指纹识别系统【源码68期】
开发语言·matlab
2601_9623008112 小时前
机器学习贴士:使用Python编写MapReduce
hadoop·python·机器学习·mapreduce·数据处理
matlab代码12 小时前
基于matlab的水果识别系统(苹果香蕉菠萝梨桃子)【源码65期】
开发语言·matlab
xyz_CDragon13 小时前
GitHub上4个爆款AI开源Skill:拍照后不用P图,用Codex一键生成高级海报(附效果图+使用教程)
人工智能·python·github·codex·skill
wuyk55513 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
weixin1997010801613 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
尘客-追梦13 小时前
Day 01:插件化之前,先看清 ABI 这堵墙
开发语言·c++·qt
持敬chijing14 小时前
Python-数据类型-列表
开发语言·python·青少年编程