想象一下,我有一个数组:
x = np.array(['1', '3', '5', '4', '8', '2'])
目标是在每个系列的2个术语之后添加一个空白元素。 如何获得这个结果数组?
['1', '3', ' ', '5', '4', ' ', '8', '2']
谢谢!
答案 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']