python - 如何切割更大的矩阵并匹配更小的矩阵的形状
问题描述
我有两个不同长度的矩阵列表。
例如
X中矩阵的长度:
- (110,3)
- (150,3)
- (120,3)
Y中的矩阵长度:
- (100,3)
- (125,3)
我的问题是我有一个循环,它将减去矩阵,例如(X[0]-Y[0]),然后是(X[0]-Y[1])等等。由于它们具有不同的形状,我必须创建一个对矩阵进行切片的代码。
for x in range (len(X)):
for y in range (len(Y)):
if len(X[x])> len(Y[y]):
X_a = len(X[x]) - len(Y[y])
X_len = len(X[x]) - X_a
我要去这里的某个地方吗?对不起。这让我很困惑。:(
解决方案
从代码看来,当您想要减去两个矩阵时,您想要将减法直到较小矩阵的长度。为此,您可以使用以下功能:
def subtract_matricies(mat1, mat2):
minimum_len = min(len(mat1), len(mat2))
return mat1[:minimum_len]-mat2[:minimum_len]
然后在你的主循环中使用这个函数:
result=[]
for x in X:
for y in Y:
result.append(subtract_matricies(x,y))
推荐阅读
- excel - 如果日期范围在某个月份处于活动状态,则 Excel 计数
- c++ - 有效地删除字节数组中的下半字节 - C++
- react-native - 为变量创建存储时出现错误
- java - 如何编辑存储在共享首选项中的自定义对象数组列表中的数据?我正在使用这个类来存储和访问
- reporting-services - 报告变量隐藏表达式的 ReportViewer.Forms SecurityException
- python - 用于非冗余聚类的合成数据生成器
- pyspark - 如何在pyspark中读取excel文件?
- ruby-on-rails - 无法在 ruby on rails 上创建或更新表
- asp.net - 如何在 IIS 中设置我的 ASP.NET 后端?
- reactjs - 如何在 Animated.View 中显示正在播放的音频的进度?