我有一个名为fajita的美味空阵:
fajita = np.empty(2)
array([ 2.00000000e+00, 1.72723382e-77])
当我使用时:
np.insert(fajita,0,[2,2])
我明白了:
array([ 2.00000000e+00, 2.00000000e+00, 2.00000000e+00, 1.72723382e-77])
这里的问题是我只想要插入2个值,我不想保留空数组中的先前值。预期输出应该是一个数组,只插入2个值。类似的东西:
array([ 2.00000000e+00, 2.00000000e+00])
答案 0 :(得分:4)
使用empty
和切片设置执行此操作的一种方法:
import numpy as np
fajita = np.empty(2)
fajita[:] = [2, 2]
使用fill
执行此操作的另一种方法:
fajita = np.empty(2)
fajita.fill(2)
另一个解决方案是直接使用你想要的值创建数组(我认为这是你应该做的,这也是我一开始不理解你的问题的原因之一):
fajita = np.array([2,2])
答案 1 :(得分:1)
希望这有帮助
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
答案 2 :(得分:0)
或者:
arr = np.empty(0) # you want it to contain 0 elements
np.insert(arr, 0, [2,2])
答案 3 :(得分:0)
我认为您可以执行以下操作:
创建一个所需大小的空数组(如果不确定,可能会更多)
将数据插入数组中您想要的位置 以下示例按顺序插入数据(例如,当读取多个文件并将文件中的数据添加到数组中时)
presized_array = np.empty(100) #presized empty arrray of size 100
data_chunk_one = np.arange(10) #dummy data that we want to insert
presized_array[0:9] = data_chunk_one #add the first data chunk
data_chunk_two = np.arange(10) #dummy data that we want to insert
presized_array[10:20] = data_chunk_two #add the second data chunk
...等等,每个附加区块