如何在数组的每个x项系列之后添加空格?蟒蛇

时间:2018-03-11 17:51:07

标签: python arrays numpy

想象一下,我有一个数组:

x = np.array(['1', '3', '5', '4', '8', '2'])

目标是在每个系列的2个术语之后添加一个空白元素。 如何获得这个结果数组?

['1', '3', ' ', '5', '4', ' ', '8', '2']

谢谢!

4 个答案:

答案 0 :(得分:4)

您可以使用np.insert()slice来指定职位:

np.insert(x, slice(2, None, 2), ' ')

答案 1 :(得分:1)

请试试这个:

[ e for y in [ ["_", v] if i%2==0 and i!=0 else [v] for i,v in enumerate(x)] for e in y ]

答案 2 :(得分:0)

天真的解决方案:

x = np.array(['1', '3', '5', '4', '8', '2'])
new_x = np.array([])
for i in range(x.size):
    if (i %3 == 2):
        new_x = np.append(new_x, ' ')
    new_x = np.append(new_x, x[i])

答案 3 :(得分:0)

另一种方式:

import numpy as np
x = np.array(['1', '3', '5', '4', '8', '2'])
for i in range(2, len(x), 3):
    x = np.insert(x, i, ' ')
print(x)
# ['1' '3' ' ' '5' '4' ' ' '8' '2']