我正在尝试合并两个具有相同数量参数的数组。
输入:
first = [[650001.88, 300442.2, 18.73, 0.575, 650002.094, 300441.668, 18.775],
[650001.96, 300443.4, 18.7, 0.65, 650002.571, 300443.182, 18.745],
[650002.95, 300442.54, 18.82, 0.473, 650003.056, 300442.085, 18.745]]
second = [[1],
[2],
[3]]
我的预期输出:
final = [[650001.88, 300442.2, 18.73, 0.575, 650002.094, 300441.668, 18.775, 1],
[650001.96, 300443.4, 18.7, 0.65, 650002.571, 300443.182, 18.745, 2],
[650002.95, 300442.54, 18.82, 0.473, 650003.056, 300442.085, 18.745, 3]]
为此,我创建了一个简单的循环:
for i in first:
for j in second:
final += np.append(j, i)
我让我填补了我遗漏的东西。首先,我的循环非常慢。其次,我的数据相当多,我有超过 200 万行要循环。所以我试图用这段代码找到更快的方法:
final = [np.append(i, second[0]) for i in first]
它的工作速度比以前的循环快得多,但它只附加第二个数组的第一个值。你能帮助我吗?
原文由 Losbaltica 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
np.array
然后np.concatenate
,其中
axis=1
表示我们要水平连接。这对我行得通