簡體   English   中英

'numpy.ndarray' 對象沒有屬性 'drop'

[英]'numpy.ndarray' object has no attribute 'drop'

我有一個包含四個輸入的數據集,名為 X1、X2、X3、X4。 在這里,我創建了 lstm 模型,以使用四個輸入的先前值預測下一個 X1 值。

在這里,我將時間更改為分鍾,然后將時間設置為索引。

然后我創建了 x_train、x_test、y_test 和 y_train。 然后我想減少 x_train 和 x_test 的時間。

我使用了代碼:

data= pd.DataFrame(data,columns=['X1','X2','X3','X4'])
pd.options.display.float_format = '{:,.0f}'.format
print(data)

數據:

在此處輸入圖片說明

y=data['X1'].astype(int)
cols=['X1', 'X2', 'X3','X4']
x=data[cols].astype(int)

data=data.values
scaler_x = preprocessing.MinMaxScaler(feature_range =(0, 1))
x = np.array(x).reshape ((len(x),4 ))
x = scaler_x.fit_transform(x)
scaler_y = preprocessing.MinMaxScaler(feature_range =(0, 1))
y = np.array(y).reshape ((len(y), 1))
y = scaler_y.fit_transform(y)

train_end = 80
x_train=x[0: train_end ,]
x_test=x[train_end +1: ,]
y_train=y[0: train_end]
y_test=y[train_end +1:] 
x_train=x_train.reshape(x_train.shape +(1,))
x_test=x_test.reshape(x_test.shape + (1,))

x_train = x_train.drop('time', axis=1)
x_test = x_test.drop('time', axis=1)

然后錯誤: 'numpy.ndarray' object has no attribute 'drop'

任何人都可以幫我解決這個錯誤嗎?

由於您提取了 Pandas 數據幀的值,因此您的數據已轉換為 NumPy 數組,因此列名已被刪除。 時間列是數據的第一列,因此您真正需要做的就是對其進行索引,以便提取第二列及以后的列:

x_time_train = x_train[:, 0]
x_train = x_train[:, 1:]
x_time_test = x_test[:, 0]
x_test = x_test[:, 1:]

請注意,我已將訓練數據集和測試數據集的時間值分開,因為您需要它們進行繪圖。

X_train 是一個數組而不是一個數據框您需要知道要刪除的列的位置

  np.delete(X_train, [index_to_drop], 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM