numpy知识

基本操作

np.squeeze(x, axis=None)
#numpy没有unsqueeze操作
np.expand_dims(x, axis) #表示在axis轴升维
np.repeat(x, n, axis=0) #在axis把数据x复制n次
np.concatenate((a1, a2), axis=0) #在0轴做concat操作

判断两个array是否完全相同

array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([[1, 2, 3], [4, 5, 6]])

# 使用numpy的array_equal函数
are_identical = np.array_equal(array1, array2)
print(are_identical)  # 如果输出True,说明两个数组完全相同

# 或者使用np.all配合 ==
are_identical_alternative = np.all(array1 == array2)
print(are_identical_alternative)  # 输出也会是True

#请注意,np.array_equal()默认情况下会区分浮点数的小数精度差异,而np.all(array1 == array2)配合一个很小的相对误差阈值(如使用np.isclose())可以用来比较近似相等的浮点数组

找出两个array不相同的元素

import numpy as np

# 创建两个numpy数组
array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([[1, 2, 3], [4, 7, 6]])  # 第二行第二个元素不同

# 检查哪些元素不相等
diff_mask = array1 != array2

# 找出不相等元素的位置
different_elements_positions = np.where(diff_mask)

# 提取并打印不同的元素
for i, j in zip(*different_elements_positions):
    print(f"Array1[{i}][{j}] = {array1[i][j]}, Array2[{i}][{j}] = {array2[i][j]}")

# 输出:Array1[1][1] = 5, Array2[1][1] = 7

保存和读取numpy数据的文本

#保存numpy
data = np.fromfile('./in.bin', dtype=np.float32)
np.savetxt('input.txt', data, fmt='%f', delimiter='\n')

#读取txt到numpy
array = np.loadtxt('file.txt', dtype=float, delimiter='\n', skiprows=0) #跳过前n行
或
array = np.genfromtxt('file.txt', delimiter='\n', skip_header=18)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值