Python 如何从特定列中删除行以准备SVR的培训和测试集

Python 如何从特定列中删除行以准备SVR的培训和测试集,python,python-3.x,pandas,machine-learning,scikit-learn,Python,Python 3.x,Pandas,Machine Learning,Scikit Learn,一个数据集有超过2500行和22列,包括年龄列。我已经完成了SVR的所有流程。事情还在继续。但我仍然不得不面对一个错误。即raisevalueerror(“错误的输入形状{0}”。格式(形状)),ValueError:bad-input形状(977,57)。我的输入是SupportVectorRefModel.fit(X\u-train,y\u-train)。我如何解决这个问题 from sklearn.model_selection import train_test_split from

一个数据集有超过2500行和22列,包括年龄列。我已经完成了SVR的所有流程。事情还在继续。但我仍然不得不面对一个错误。即
raisevalueerror(“错误的输入形状{0}”。格式(形状)),ValueError:bad-input形状(977,57)
。我的输入是
SupportVectorRefModel.fit(X\u-train,y\u-train)
。我如何解决这个问题

from sklearn.model_selection 
import train_test_split 
from sklearn.svm import SVR 

X_train, y_train = dataset.loc[:1000], dataset.loc[:1000] 
X_test, y_test = dataset.loc[1001], dataset.loc[1001] 
train_X, train_y = X_train.drop(columns=['age']), y_train.pop('age')
test_X, test_y = X_test.drop(columns=['age']), y_test.pop('age')

raise ValueError("bad input shape {0}".format(shape))
ValueError: bad input shape (977, 57)

如果要删除给定列的第一行
x
,请使用

df=df.drop(范围(结束))
其中
end
是要从数据集开头删除的行数

注意:不能仅从单个列中删除元素。必须删除所有行,或者用NaN或其他替换值替换删除的值

更新 OP进一步澄清后,最终结果是从
X.*
数据帧中删除
age
列,并将
age
列存储在其自己的数据帧
*\y

来自sklearn.model\u选择的

导入列车测试分割
从sklearn.svm导入SVR
X_列,y_列=dataset.loc[:1000],dataset.loc[:1000]
X_测试,y_测试=dataset.loc[1001],dataset.loc[1001]
train\u X,train\u y=X\u train.drop(列=['age']),y\u train.pop('age')
test_X,test_y=X_test.drop(列=['age']),y_test.pop('age')

应该会给您期望的最终结果。

正如您可能看到的我的X\U系列,y\U系列具有相同的尺寸。实际上,它们是相同的,因为我用这行代码生成它们,y\u train=dataset.loc[:1000],dataset.loc[:1000]X\u train应该只包含特征(即它不应该包含目标值,即“年龄”列
),y\u train应该只包含一列数据(目标值)这是此问题的
“年龄”列。如何解决这个问题?
train\ux,train\uy=X\utrain.drop(columns=['age']),y\u train.pop('age');test_X,test_y=X_test.drop(columns=['age']),y_test.pop('age')
应该为您提供所需的最终结果。如果我必须删除以下行:
X_test,y_test=dataset.loc[1001],dataset.loc[1001];train_X,train_y=dataset.drop(列=['age']),y_测试['age'];test_X,test_y=dataset.drop(columns=['age']),X_test['age']
您不需要更改此行
X_test,y_test=dataset.loc[1001],dataset.loc[1001]
,因为它创建了创建所需最终结果所需的
X_*
y.
数据集。我已经更新了我的答案,包括你需要的完整代码。非常感谢。你真是太好了