Python | 将NumPy矩阵转换为数组的几种方法

在NumPy中,矩阵可以被看作是一种特殊的二维数组。然而,有时候我们可能需要将这个矩阵转换为普通的数组,以便进行某些操作。

在本文中,我们将看到如何将NumPy矩阵Matrix转换为数组Array。此外,我们将看到将NumPy Matrix转换为Array的不同方法。

将NumPy矩阵转换为数组的几种方法

1.使用flatten方法:

在这个例子中,我们使用numpy.flatten()方法将NumPy Matrix转换为NumPy Array。它利用矩阵元素的完整N维数组。NumPy flatten()用于返回源输入数组的克隆,然后将其展平为一维数组。

import numpy as np
 
# Create NumPy 2-D array
matrix= np.matrix([[5, 10, 15],[20, 25, 30],[35, 40, 45]])
 
print("Given Matrix:",matrix)
print(type(matrix))
 
# Convert numpy matrix to array using flatten()
resulting_array = matrix.flatten()
print('After Conversion:',resulting_array)
print(type(matrix))

输出

Given Matrix: [[ 5 10 15]
 [20 25 30]
 [35 40 45]]
<class 'numpy.matrix'>
After Conversion: [ 5 10 15 20 25 30 35 40 45]
<class 'numpy.ndarray'>

2.使用ravel方法:

在这个例子中,我们使用numpy.ravel()将NumPy Matrix转换为Array。numpy.ravel()函数用于将整个数组展平为一个连续的形状。这是一个耗时的过程,产生一个压缩的一维数组。返回数组的类型将与输入数组的类型相同。

import numpy as np

# Create NumPy 2-D array
matrix= np.matrix([[5, 10, 15],[20, 25, 30],[35, 40, 45]])

print('Given Matrix',matrix)
print(type(matrix))

# Convert numpy matrix to array using flatten()
resulting_array = matrix.ravel()

print('After Conversion:',resulting_array)
print(type(resulting_array))

输出

Given Matrix: [[ 5 10 15]
 [20 25 30]
 [35 40 45]]
<class 'numpy.matrix'>
After Conversion: [ 5 10 15 20 25 30 35 40 45]
<class 'numpy.ndarray'>

3.使用reshape方法:

在这个例子中,我们使用numpy.reshape()。numpy.reshape()函数也可以用于将数组展平为矩阵。我们可以使用np.reshape(n,-1),这将把任何数组的形状转换为一个以-1为形式的扁平数组。如果你想将多维转换为一维,请参考下面的代码片段。

import numpy as np

# Create NumPy 2-D array
matrix= np.matrix([[5, 10, 15],[20, 25, 30],[35, 40, 45]])

print('Given Matrix',matrix)
print(type(matrix))

# Convert numpy matrix to array using flatten()
resulting_array = matrix.reshape(-1)
print('After Conversion:',resulting_array)
print(type(resulting_array))

输出

Given Matrix: [[ 5 10 15]
 [20 25 30]
 [35 40 45]]
<class 'numpy.matrix'>
After Conversion: [ 5 10 15 20 25 30 35 40 45]
<class 'numpy.ndarray'>

4.使用A1属性:

在这个例子中,我们使用matrix.A1将NumPy Matrix转换为NumPy Array。

import numpy as np

# Create NumPy 2-D array
matrix= np.matrix([[5, 10, 15],[20, 25, 30],[35, 40, 45]])

print('Given Matrix:',matrix)
print(type(matrix))

# Convert numpy matrix to array using A1
resulting_array = matrix.A1
print('After Conversion:',resulting_array)
print(type(resulting_array))

输出

Given Matrix: [[ 5 10 15]
 [20 25 30]
 [35 40 45]]
<class 'numpy.matrix'>
After Conversion: [ 5 10 15 20 25 30 35 40 45]
<class 'numpy.ndarray'>

5.使用toarray方法:

import numpy as np  
  
# 创建一个2x3的矩阵  
matrix = np.array([[1, 2, 3], [4, 5, 6]])  
  
# 使用toarray方法将其转换为数组  
array = matrix.toarray()  
  
print(array)

以上几种方法都可以将NumPy矩阵转换为数组。在大多数情况下,使用.A1属性或flatten方法就足够了。然而,如果你需要一个真正的NumPy数组,而不是一个视图,那么toarray方法可能是更好的选择。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值