如果我在我的資料集上呼叫這個函式:
def reconstruct_flight(data, sequence_lenght, flight_len, param_len):
stack_factor = int(flight_len/sequence_lenght)
data_reconstructed = []
for i in range(0, len(data_clean), stack_factor):
if i<len(data_clean):
data_reconstructed.append(
data[i:i stack_factor].reshape(
[flight_len, param_len])
)
return np.array(data_reconstructed)
我收到以下錯誤:
ValueError: cannot reshape array of size 0 into shape (1500,77)
但是,如果我for在控制臺中運行回圈而不將其作為函式傳遞:
data_reconstructed = []
for i in range(0, len(data_clean), stack_factor):
if i<len(data_clean):
data_reconstructed.append(
data[i:i stack_factor].reshape(
[flight_len, param_len])
)
它按預期作業。這是為什么 ?
uj5u.com熱心網友回復:
重塑時,如果您保持相同的資料連續性并且只是重塑框,則可以使用以下命令重塑資料
data_reconstructed = data_clean.reshape((10,1500,77))
如果要將連續性從一個軸更改為另一個軸,則需要事先添加軸的排列https://numpy.org/doc/stable/reference/generated/numpy.transpose.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/371023.html
