Python 将Numpy矩阵值转换为float32

Python 将Numpy矩阵值转换为float32,python,numpy,Python,Numpy,我想强制下面的特征向量矩阵中的值为float32类型,以节省内存空间,而不是使用float64。然而,我在下面所做的特征向量。astype(np.float32)似乎不起作用。有没有办法解决这个问题 import networkx as nx G = nx.Graph(edges) L = nx.laplacian_matrix(G) eigenvalues, eigenvectors.astype(np.float32) = np.linalg.eig(L.todense()) np.lin

我想强制下面的特征向量矩阵中的值为
float32
类型,以节省内存空间,而不是使用
float64
。然而,我在下面所做的
特征向量。astype(np.float32)
似乎不起作用。有没有办法解决这个问题

import networkx as nx
G = nx.Graph(edges)
L = nx.laplacian_matrix(G)
eigenvalues, eigenvectors.astype(np.float32) = np.linalg.eig(L.todense())

np.linalg.eig
函数返回与其参数相同的
dtype
数组

所以你有两个选择:

  • 尝试
    np.linalg.eig(L.todense().astype(np.float32))
    。(这可能会溢出)
  • 稍后转换特征向量
  • 第二种选择是这样的:

    eigenvalues, eigenvectors = np.linalg.eig(L.todense())
    eigenvectors = eigenvectors.astype(np.float32)