合并拆分数组的其余部分

时间:2019-03-14 01:00:52

标签: python arrays numpy

我编写了以下代码,将数组分为4部分,并分别获得了第一部分。现在,我需要获取其他剩余部分作为连接的单独数组。

test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
print(test)
test_np = np.array_split(test,4)
np2 = test_np[2]

然后我可以将其他3个部分合并到新数组np_new = [(0,1,2),(0,1,3),(0,1,8)]

我不知道该怎么做?即使我选择第二部分并期待合并第一,第三和第四部分,它也应该对我有帮助。

2 个答案:

答案 0 :(得分:1)

在您的情况下,“ test”是一个元组列表,因此您不需要numpy:

import numpy as np

test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
t_0 = test[:1]
t_1 = test[1]
new_test= t_0+test[2:]
print(new_test)   
# as np.array:
np_test=np.array(test)

如果首先有一个numpy数组:

import numpy as np
np_test = np.array([(0,1,2),(9,0,1),(0,1,3),(0,1,8)])
new_np_test = np.vstack((np_test[0], np_test[2:]))

答案 1 :(得分:0)

您可以通过切片python数组来做到这一点。例如,使用数组

  

x = ['a','b','c','d','e','f','g','h']

您可以进行多种切割。 x [1:3]返回数组的第1到第3个元素。 x [:3]返回第0至第3个元素。 x [4:]返回第四个,直到数组的结尾。

  

x [1:3] = ['b','c'],   x [:3] = ['a','b','c'],   x [4:] = ['e','f','g','h']

例如,

test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
print(test)
np1 = test[0]
# To keep the rest in test matrix
test = test[1:]