添加n个元素numpy数组

时间:2019-01-21 02:38:41

标签: python arrays numpy

我有一个numpy数组,我想添加具有相同值的 n 个元素,直到数组的长度达到100。

例如

my_array = numpy.array([3, 4, 5])

请注意,我事先不知道数组的长度。可能是3 <= x <= 100

我想添加(100-x)更多元素,所有元素的值均为9。 我该怎么办?

3 个答案:

答案 0 :(得分:3)

请记住,使用numpy数组很重要,您不能像使用列表那样添加元素。因此,将数字添加到数组中并不是最好的做法。

最好是使用一个数组 start ,并用新数据替换元素。例如:

import numpy as np
MY_SPECIAL_NUMBER = 100
my_array = np.array[3, 4, 5]
my_new_array = np.ones(100) * MY_SPECIAL_NUMBER
my_new_array[:my_array.size] = my_array

my_new_array现在就是您想要的。

答案 1 :(得分:3)

有两种方法可以实现:连接数组或分配数组。

您可以使用np.concatenate并生成适当大小的数组:

def splitbill(user):
    row = c.execute('SELECT * FROM database WHERE user = (?) ORDER BY datetime DESC LIMIT 1', (user,)).fetchall()
    print(row[0])

或者,您可以构造一个np.full数组,然后使用切片符号覆盖一些值:

my_array = # as you defined it
remainder = [9] * (100 - len(my_array))
remainder = np.array(remainder)
a100 = np.concatenate((my_array, remainder))

答案 2 :(得分:0)

如果您“无法”知道神秘阵列的大小:

fillvalue=9
padding=numpy.ones(100)*fillvalue
newarray=numpy.append(myarray, padding)
newarray=newarray[:100]