Numpy学习笔记(四):如何将数组升维、降维和去重

简介: 本文介绍了如何使用NumPy库对数组进行升维、降维和去重操作。

降维和去重

方法一

通过chain.from_iterable来进行转换

a = [[1, 2, '3'], [9, 3, 7], [8, 15, 10]]
from itertools import chain
import string as str
a_new=[]
# 将二维数组里面的字符型转换为整形
for i in a:
    a=list(map(int,i))
    a_new.append(a)
print(list(chain.from_iterable(a_new)))
AI 代码解读

运行结果在这里插入图片描述

方法二

升维用np.expand_dims
降维用np.squeeze()
去重用np.unique()

import numpy as np
a=np.array([1,2,2,1,3,4,5,6,7])
# 升维
b=np.expand_dims(a,axis=0)
print(a.shape)
print(b.shape)
c=np.expand_dims(b,axis=0)
print(c.shape)
# 降维
d=np.squeeze(c,axis=0)
print(d.shape)
# 去重复
e=np.unique(a)
"""去重方法一"""

print('1.去重后',e)
"""去重方法二"""
print('2.去重后',list(set(a)))
"""去重方法三"""
def quchong(y):
    y.sort()
    last=y[-1]
    for i in range(len(y)-2,-1,-1):
        if last==y[i]:
            del y[i]
        else:
            last=y[i]
    return y
a1=[]
for i in range(len(a)):
    a1.append(a[i])
print('3.去重后',quchong(a1))
AI 代码解读

运行结果
在这里插入图片描述

升维

方法一

通过np.expand_dims
比如说直接image=np.expand_dims(image,axis=0)
在0维度增加一维。

方法二

通过np.newaxis来处理
比如说
image=image[np.newaxis,:,:].astype(np.float32)
可以完成图片从四维到五维,三维到四维
如果想直接从三维到五维可以使用
image=image[np.newaxis,np.newaxis,:,:].astype(np.float32)
都是从0维度增加,如果想要从其它维度增加只需要将np.newaxis放到你想要放的位置即可。

目录
打赏
0
1
1
0
85
分享
相关文章
PIL图像转换为Numpy数组:技术与案例详解
本文介绍了如何将PIL图像转换为Numpy数组,以便利用Numpy进行数学运算和向量化操作。首先简要介绍了PIL和Numpy的基本功能,然后详细说明了转换过程,包括导入库、打开图像文件、使用`np.array()`或`np.asarray()`函数进行转换,并通过打印数组形状验证转换结果。最后,通过裁剪、旋转和缩放等案例展示了转换后的应用,以及如何将Numpy数组转换回PIL图像。此外,还介绍了处理base64编码图像的完整流程。
93 4
|
6月前
|
Numpy学习笔记(一):array()、range()、arange()用法
这篇文章是关于NumPy库中array()、range()和arange()函数的用法和区别的介绍。
232 6
Numpy学习笔记(一):array()、range()、arange()用法
|
6月前
|
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
NumPy库中`np.where`和逻辑运算函数`np.logical_and`、`np.logical_or`、`np.logical_not`的使用方法和示例。
355 1
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
202 10
|
6月前
|
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
171 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
457 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
6月前
|
使用 NumPy 进行数组操作的示例
使用 NumPy 进行数组操作的示例
69 2
|
6月前
|
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
229 4
Pytorch学习笔记(十):Torch对张量的计算、Numpy对数组的计算、它们之间的转换
这篇文章是关于PyTorch张量和Numpy数组的计算方法及其相互转换的详细学习笔记。
111 0