numpy降维方法

Posted Yuzzz.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy降维方法相关的知识,希望对你有一定的参考价值。


title: numpy降维方法

numpy中的降维方法

numpy中的降维方法:
flat():返回一个iterator,然后去遍历
flatten():将多维数组拉平,并拷贝一份
ravel():将多维数组拉平(一维)
squeeze():除去多维数组中,维数为1的维度,如315降维后3*5
reshape(-1):多维数组,拉平
reshape(-1,5),其中-1表示我们不用亲自去指定这一维度的大小,理解为n维

代码示例:

import numpy as np

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

c = []
for x in a.flat:
    c.append(x)
print('flat迭代器降一维:\\n', c)
d = a.flatten()
print('flatten方法降一维:\\n', d)
e = a.ravel()
print('ravel方法降一维:\\n', e)
g = np.squeeze(a)
print('squeeze方法降一维:\\n', g)
f = a.reshape(-1)
print('reshape方法降一维:\\n', f)
a.resize((1, 6))
print('resize方法:\\n', a)

结果:
flat迭代器降一维:
[1, 2, 3, 4, 5, 6]
flatten方法降一维:
[1 2 3 4 5 6]
ravel方法降一维:
[1 2 3 4 5 6]
squeeze方法降一维:
[[1 2 3]
[4 5 6]]
reshape方法降一维:
[1 2 3 4 5 6]
resize方法:
[[1 2 3 4 5 6]]

numpy中关于数组的合并,拆分,及降维

numpy中数组的合并:

1.stack函数,合并后,数组维数+1,其实就是将数组按照某种某个轴线进行合并形成新的数组。

a=np.ones((5,3))
    b=np.zeros((5,3))
    c=np.stack((a,b),axis=1)
    print(c.shape)#维数为5,2,3,在axis=1方向增加一个维度

2.hstack函数,将数组2水平拼接到数组1

3.vstack函数,将数组2垂直拼接到数组1下方。

4.column_stack()函数,等价于hstack函数。

5.row_stack()函数,等价于vstack函数

numpy中数组的降为一维:

flatten(),ravel()

a=np.ones((5,3))
b=np.zeros((5,3))
c=np.stack((a,b),axis=1)
print(c.shape)

以上是关于numpy降维方法的主要内容,如果未能解决你的问题,请参考以下文章

0x25 numpy实战,PCA降维

机器学习笔记----四大降维方法之PCA(内带python及matlab实现)

线性与非线性数据降维方法汇总(Python代码实现)

临时记录

机器学习之路:python 特征降维 主成分分析 PCA

scikits-learn pca 降维问题