0
我一直在生成可變長度列表,這是一個簡化的例子。從變長列表創建固定長度的numpy數組
list_1 = [5] * 5
list_2 = [8] * 10
然後我想轉換爲np.array進行操作。因此它們需要具有相同的長度(例如1200),尾部可以填充零或者截斷目標長度。
對於8固定的長度,我考慮設立一個零陣列然後填充相應的條目:
np_list_1 = np.zeros(8)
np_list_1[0:5] = list_1[0:5]
np_list_2 = np.zeros(8)
np_list_2[0:8] = list_2[0:8] # longer lists are truncated
我已經創建了下面的函數來產生這些
def get_np_fixed_length(list_like, length):
list_length = len(list_like)
np_array = np.zeros(length)
if list_length <= length:
np_array[0:list_length] = list_like[:]
else:
np_array[:] = list_like[0:length]
return np_array
是否有一個更有效的方法來做到這一點? (我在numpy文檔中看不到任何東西)