Python笔记 -- numpy

部署运行你感兴趣的模型镜像

list列表、tuple元组、set集合、dict字典,都属于容器,可以进行增删改查、计算元素的个数和排序等基本操作,注意并不是所有的全部都支持,具体功能略有不同。

numpy 科学计算库

numpy的核心数据结构是N维数组。具有向量和矩阵的功能。

numpy底层是用C语言实现的,所以执行速度很快。

numpy是第三方库,需要使用pip或conda进行安装使用。如果已经安装过anaconda 额外再安装,因为anaconda中已经包含了numpy。

import numpy as np #引入numpy包
#创建一维数组 参数传可迭代对象,如列表
arr = np.array([1,2,3,4,5])
#创建二维数组
arr2=np.array([[1,2,3,4],[5,6,7,8]])
#查看数组的维度
arr.ndim

#查看数据类型
arr.dtype
#重新设置数据类型
arr1=arr.astype(np.int64)
arr2.sum(axis=1) #axis=1对行求和
arr2.sum(axis=0) #axis=0对列求和
arr2.mean(axis=1)#求行平均值,如果不写axis,则对行列整体求平均值

arr2.var()#求方差

arr2.std()#求标准差

arr2.T#求逆矩阵

标量:单个数据,如1,2,3,4

向量:一维数组,将多个标量按照一定的顺序排列成一行或一列。[1,2,3,4]

矩阵:二维数组,成行成列的一堆数据。

张量:三维、四维、五维等高维数组。例如图像就属于三维的数组。

import matplotlib.pyplot as plt #引入图片的包
img = plt.imread('img.jpeg')

图像一般是三维的数组。第一个维度表示图片的高度,第二个维度表示图片的宽度,第三个维度表示彩色数据,用来控制图片的颜色。

#将可迭代对象转换成数组
import numpy as np #引入numpy
np.array([1,2,3,4]) #创建数组
x1 = np.linspace(start=1,stop=100,num=100) #等差数列,start表示起始值,stop表示结束值,num表示生成多少个元素
# arange生成等差数列,start起始值,stop结束值(不包含),step步长。
#注意linspace第三个参数控制的是元素的总个数,而arange控制的是步长。
np.arange(1,100,8)
#生成值全为1的数组
np.ones(shape=(3,5))#生成3行5列数组,里面的值全为1
#生成2行3列的数组,里面的值全为0
np.zeros(shape=(2,3))
np.ones_like(x1)#按照X1的形状生成数组,里面的值全为1
#根据某个矩阵生成对角矩阵(除了主对角线之外,其他值全为0)
np.diag(x1)
#单位矩阵
np.eye(3)
#将2个矩阵拼接一起
x2 = x1.reshape(5,20)
x3 = x1.reshape(5,20)

#按列的顺序,堆叠数组构成一个新数组
np.hstack((x2,x3)).shape

#按行的顺序,堆叠数组构成一个新数组
np.vstack((x2,x3)).shape
with open(file='b.txt',mode='r') as f:
    while True:
        line = f.readline()
        if line:
            print(line)
        else:
            break

2个数组之间做加减乘除运算时,他们的形状必须一致。

arr1 = np.array([[1,2],[3,4]])
arr2 = np.array([[1,1],[2,3]])

arr1+arr2

#内积
arr1 @ arr2

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python是一门强大且易学的编程语言,其语法简洁明了,非常适合初学者入门。以下是一些Python复习笔记的概要: 1. **基本语法**: - 变量:不需要声明数据类型,直接赋值即可,如 `x = 5` 或 `name = "Alice"`。 - 注释:单行注释用 `#`,多行注释使用三个引号 `"""..."""` 或 `'``...'```。 2. **数据类型**: - 整数、浮点数、字符串(`str`)、布尔值 (`True` 和 `False`)、列表 (`list`,如 `[1, 2, 'three']`)、元组 (`tuple`, 类似列表但不可变) 和字典 (`dict`, 键值对形式 `{key: value}`)。 3. **控制结构**: - 条件语句(`if`、`elif`、`else`)、循环 (`for` 循环遍历列表,`while` 判断条件执行)。 - `break` 和 `continue` 控制流程,`pass` 是空操作。 4. **函数**: - 函数定义使用 `def` 关键词,可以有返回值 (`return`)。 - 参数传递:位置参数、关键字参数以及默认参数和可变长度参数 (`*args` 和 `**kwargs`). 5. **模块和包**: - Python 中通过 `import` 导入模块,如 `import math`,包通常放在文件夹中,导入时加上路径,如 `from package import module`. 6. **面向对象编程**: - 使用 `class` 定义类,`__init__` 是构造函数,`self` 指向类实例本身。 - 继承、封装和多态是 OOP 的核心特性。 7. **异常处理**: - 使用 `try-except` 块捕获并处理可能出现的错误。 8. **标准库和第三方库**: - Python 标准库功能丰富,如 `os`、`datetime` 等;使用 pip 安装第三方库,如 `requests`、`numpy`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值