我想在ndarray
中添加第一个和最后一个位置的元素。对于此示例,我想在第一个位置添加0,在最后一个位置添加1441。但是怎么样?
<type 'numpy.ndarray'>
Out[185]:
array([ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110,
120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220,
230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330,
340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440,
450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550,
560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660,
670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770,
780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880,
890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990,
1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100,
1110, 1120, 1130, 1140, 1150, 1160, 1170, 1180, 1190, 1200, 1210,
1220, 1230, 1240, 1250, 1260, 1270, 1280, 1290, 1300, 1310, 1320,
1330, 1340, 1350, 1360, 1370, 1380, 1390, 1400, 1410, 1420, 1430,
1440], dtype=int64)
答案 0 :(得分:6)
使用numpy.concatenate
:
import numpy as np
a = np.array([1,2,3])
np.concatenate(([0], a, [4]))
# array([0, 1, 2, 3, 4])
或numpy.r_
:
np.r_[0, a, 4]
# array([0, 1, 2, 3, 4])
答案 1 :(得分:2)
假设:
a = numpy.array([10, ... , 1440]);
在第一个位置插入0:
np.insert(a, 0, 0);
参考numpy.insert。
在最后一个位置附加1441:
numpy.append(a, 1441);
参考numpy.append。
答案 2 :(得分:1)
只是添加到现有答案中,以防这个问题尚未明确:您无法扩展现有的 numpy
数组。所以,如果你有
a = np.array([1,2,3])
例如,您无法对a
执行任何会导致a
的所有现有引用为[0, 1, 2, 3, 4]
的操作。如果你需要那种语义,那么你需要将a
包装在某种容器对象中。