在第一个位置添加元素 - Python numpy数组

时间:2017-12-14 00:40:02

标签: python numpy

我想在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)

3 个答案:

答案 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包装在某种容器对象中。