使用Numpy创建二维数组,并将扁平化输入作为对角线


要创建一个以扁平化输入作为对角线的二维数组,可以使用Python Numpy中的**numpy.diagflat()**方法。第一个参数是输入数据,它会被扁平化并设置为输出的第k个对角线。第二个参数是要设置的对角线;默认值为0,对应于“主”对角线,正(负)k表示高于(低于)主对角线的对角线数。

NumPy 提供了全面的数学函数、随机数生成器、线性代数例程、傅里叶变换等等。它支持各种硬件和计算平台,并且可以很好地与分布式、GPU和稀疏数组库配合使用。

步骤

首先,导入所需的库:

import numpy as np

使用numpy.array()方法创建一个二维数组:

arr = np.array([[5, 10], [15, 20]])

显示我们的数组:

print("Array...
",arr)

获取数据类型:

print("
Array datatype...
",arr.dtype)

获取数组的维度:

print("
Array Dimensions...
",arr.ndim)

获取数组的形状:

print("
Our Array Shape...
",arr.shape)

获取数组的元素个数:

print("
Elements in the Array...
",arr.size)

要创建一个以扁平化输入作为对角线的二维数组,可以使用numpy.diagflat()方法:

print("
Result...
",np.diagflat(arr))

示例

import numpy as np
# Create a 2D array using the numpy.array() method
arr = np.array([[5, 10], [15, 20]])

# Displaying our array
print("Array...
",arr) # Get the datatype print("
Array datatype...
",arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # Get the shape of the Array print("
Our Array Shape...
",arr.shape) # Get the number of elements of the Array print("
Elements in the Array...
",arr.size) # To create a two-dimensional array with the flattened input as a diagonal, use the numpy.diagflat() method in Python Numpy print("
Result...
",np.diagflat(arr))

输出

Array...
[[ 5 10]
[15 20]]

Array datatype...
int64

Array Dimensions...
2

Our Array Shape...
(2, 2)

Elements in the Array...
4

Result...
[[ 5 0 0 0]
[ 0 10 0 0]
[ 0 0 15 0]
[ 0 0 0 20]]

更新于:2022年2月16日

379 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告