Numpy常用基础语法

本文详细介绍Numpy库的基础操作,包括数组的创建、访问、运算及矩阵运算等核心内容。同时,文章还介绍了如何使用pickle和numpy自带的方法进行数组的序列化和反序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy 基础

数组创建和访问

import numpy as np
# 创建一维数组
arr_1 = np.array([1,2,3])

# 二维数组
arr_2 = np.array([ [1,2,3], [1,2,3]])

# 查看行列 返回 tuple
arr_1.shape 

# 查看 元素个数 返回 int
arr_1.size

# 查看数组的 元素的数据类型 返回 int , float, 数组类型不一样取醉倒的
arr_1.dtype

# 创建 array 用 range
arr_3 = np.arange(1, 10) # [1,...10]

arr_3 = np.arange(1, 10, 2) # [1,3,5,7,9]

# 全零矩阵
arr_4 = np.zeros(5)  # 1 row 5 colum

arr_4 = np.zeros([2, 3])  # 2 row 3 colum

# 单位矩阵
np.eye(5)

# 访问元素
a = np.array([1,2,3,4,5,6])

a[1]

a[1: 4]

b = np.array([[1,2,3],
              [4,5,6],
              [7,8,9]])
b[0,1] == b[0][1]
print(b[:2,1:])   # 0,1 行, 1,2 列的范围

数组与矩阵运算

# 数组运算

a = np.random.randint(10, size = (4 ,5))
b = np.random.randint(10, size = (4 ,5))

print( a * b)  # 加
print( a + b)  # 乘法

# 创建矩阵

s = np.mat([[1,2,3],
            [1,2,3]])

sa = np.mat(a)
sb = np.mat(b)

# 矩阵的运算
# print( sa * sb)  #  运行不通过, rows not equals colums
print( sa + sb)

常用函数

a = np.random.randint(10, size = 30).reshape(5, 6)

np.unique(a)  # it can find unique element

sum(a) # 列和

sum(a[0]) # 0 row sum  

sum(a[:,0]) # 0 colum  sum

a.max() # the max of the matrix

max(a[0]) # the max of 0 row

max(a[:,0]) # the max of 0 colum

使用pickle序列化numpy array

import pickle
import numpy as np
arr = np.arange(10)
# 创建文件
f = open('x.pkl', 'wb') 
# 写入文件
pickle.dump(arr, f)

# 打开文件
f = open('x.pkl', 'rb')
# 读取文件
a1 = pickle.load(f)

# 序列化文件
np.save('one_array', arr)

# 读取文件
np.load('one_array.npy')

# 多个 arr 压缩大一个 npz 文件中
x = np.arange(10)
y = np.arange(20)

np.savez('two_array', a = x,b = y)

# 加载这个文件
arrs = np.load('two_array.npz')

print(dict(arrs))
print(arrs['a'])
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值