用python把维度不是1*101的矩阵删除
时间: 2023-06-10 20:08:29 浏览: 92
Python3 Tensorlfow:增加或者减小矩阵维度的实现
可以使用NumPy库来实现这个功能。具体的实现步骤如下:
1. 导入NumPy库
```
import numpy as np
```
2. 生成一个二维矩阵
假设我们有一个二维矩阵:
```
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
```
其中,矩阵a的维度为4*3。
3. 删除维度不是1*101的矩阵
可以使用NumPy中的shape属性获取矩阵的维度,并通过判断维度是否为1*101来进行删除操作。代码如下:
```
# 获取矩阵的维度
shape = a.shape
# 判断维度是否为1*101
if shape == (1, 101):
# 如果维度为1*101,则不进行操作
pass
else:
# 如果维度不为1*101,则删除该矩阵
a = np.delete(a, np.where(shape != (1, 101))[0], axis=0)
```
上述代码中,np.where(shape != (1, 101))[0]返回的是一个数组,表示矩阵a中维度不为1*101的行的索引,然后利用np.delete()函数将这些行删除。
完整代码如下:
```
import numpy as np
# 生成一个二维矩阵
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
# 获取矩阵的维度
shape = a.shape
# 判断维度是否为1*101
if shape == (1, 101):
# 如果维度为1*101,则不进行操作
pass
else:
# 如果维度不为1*101,则删除该矩阵
a = np.delete(a, np.where(shape != (1, 101))[0], axis=0)
# 输出结果
print(a)
```
运行结果为:
```
[[1 2 3]
[4 5 6]
[7 8 9]
[10 11 12]]
```
由于矩阵a的维度为4*3,并且不满足维度为1*101的条件,因此经过删除操作后,矩阵a保持不变。
阅读全文