You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中对不同形状的数组进行按列和按行合并?

三维数组合并方案

假设你使用的是NumPy数组,以下是针对需求的具体实现:

按列合并(扩展列维度)

你的两个数组前两个维度(160,1400)完全一致,第三个维度分别为1200和3。按列合并指在**列维度(第三个轴,axis=2)**拼接,合并后列数变为1200+3=1203,最终数组形状为(160,1400,1203)。

代码示例:

import numpy as np

# 示例数组
arr1 = np.random.rand(160, 1400, 1200)
arr2 = np.random.rand(160, 1400, 3)

# 按列合并
merged_col = np.concatenate([arr1, arr2], axis=2)
print(merged_col.shape)  # 输出 (160, 1400, 1203)

按行合并(扩展行维度)

若要按行合并(扩展行维度,第二个轴axis=1),需先让两个数组的列维度一致。由于arr2的列维度是3,arr1是1200,可通过重复arr2的列元素匹配维度(假设将3列扩展到1200列),之后在**行维度(axis=1)**拼接,最终数组形状为(160, 2800, 1200)。

代码示例:

# 将arr2的列维度扩展到1200(重复400次,1200/3=400)
arr2_expanded = np.repeat(arr2, 400, axis=2)

# 按行合并
merged_row = np.concatenate([arr1, arr2_expanded], axis=1)
print(merged_row.shape)  # 输出 (160, 2800, 1200)

如果你的“按行合并”指增加样本数(第一个轴axis=0),同样需先扩展arr2的列维度,合并后形状为(320,1400,1200):

merged_samples = np.concatenate([arr1, arr2_expanded], axis=0)
print(merged_samples.shape)  # 输出 (320, 1400, 1200)

内容的提问来源于stack exchange,提问作者Damien Rice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:45:43