降维和去重
方法一
通过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放到你想要放的位置即可。