【问题标题】:Min-max scaling query最小-最大缩放查询
【发布时间】:2025-12-02 22:10:02
【问题描述】:

以下代码出错。

我正在尝试仅对数据帧的一项功能执行最小-最大缩放:

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
train_df['training_credits']= scaler.fit_transform(train_df['training_credits']).reshape(1,-1)
test_df['training_credits']= scaler.fit_transform(test_df['training_credits']).reshape(1,-1)
  X=train_df[['department','education','Employee_Acheivement','training_credits','new_age_updated_new']]
 y=train_df['is_promoted']
 from sklearn.model_selection import train_test_split
 X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 0.2)

错误:-

ValueError                                Traceback (most recent call last)
<ipython-input-47-01a2518dfb0a> in <module>
      3 #train_df=train_df.drop(['region'], axis=1)
      4 #test_df=test_df.drop(['region'], axis=1)
----> 5 train_df['training_credits']= scaler.fit_transform(train_df['training_credits']).reshape(1,-1)
      6 test_df['training_credits']= scaler.fit_transform(test_df['training_credits']).reshape(1,-1)
      7 X=train_df[['department','education','Employee_Acheivement' ,'training_credits','new_age_updated_new']]
'
'
'
'
ValueError: Expected 2D array, got 1D array instead:
array=[49. 60. 50. ... 79. 45. 49.].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

你能建议我哪里出错了吗?

【问题讨论】:

  • 请仔细阅读错误信息和提供的建议。

标签: python pandas scikit-learn


【解决方案1】:

试试这个:

scaler.fit_transform(train_df[['training_credits']].values)

scaler.fit_transform(train_df['training_credits'].values.reshape(-1,1))

【讨论】: