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)))

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

方法二

升维用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))

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

升维

方法一

通过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放到你想要放的位置即可。

目录
相关文章
|
30天前
|
Python
Numpy学习笔记(一):array()、range()、arange()用法
这篇文章是关于NumPy库中array()、range()和arange()函数的用法和区别的介绍。
40 6
Numpy学习笔记(一):array()、range()、arange()用法
|
30天前
|
索引 Python
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
NumPy库中`np.where`和逻辑运算函数`np.logical_and`、`np.logical_or`、`np.logical_not`的使用方法和示例。
92 1
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
|
1月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
66 10
|
30天前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
25 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
30天前
|
机器学习/深度学习 索引 Python
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
68 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
1月前
|
Python
使用 NumPy 进行数组操作的示例
使用 NumPy 进行数组操作的示例
|
1月前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
84 4
|
1月前
|
机器学习/深度学习 并行计算 调度
CuPy:将 NumPy 数组调度到 GPU 上运行
CuPy:将 NumPy 数组调度到 GPU 上运行
54 1
|
28天前
|
PyTorch 算法框架/工具 Python
Pytorch学习笔记(十):Torch对张量的计算、Numpy对数组的计算、它们之间的转换
这篇文章是关于PyTorch张量和Numpy数组的计算方法及其相互转换的详细学习笔记。
31 0
|
2月前
|
API Python
Numpy 数组的一些集合操作
Numpy 数组的一些集合操作
28 0