【发布时间】:2020-11-11 06:40:27
【问题描述】:
我正在使用datatable 数据框。如何将数据框拆分为训练和测试数据集?
与 pandas 数据框类似,我尝试使用 sklearn.model_selection 中的train_test_split(dt_df,classes),但它不起作用并且出现错误。
import datatable as dt
import numpy as np
from sklearn.model_selection import train_test_split
dt_df = dt.fread(csv_file_path)
classe = dt_df[:, "classe"])
del dt_df[:, "classe"])
X_train, X_test, y_train, y_test = train_test_split(dt_df, classe, test_size=test_size)
我收到以下错误:TypeError: Column selector must be an integer or a string, not
我尝试通过将数据框转换为 numpy 数组来解决方法:
classe = np.ravel(dt_df[:, "classe"])
dt_df = dt_df.to_numpy()
就像它一样工作,但是,我不知道是否有办法让train_test_split 像在熊猫数据框中一样正常工作。
编辑 1: csv 文件包含作为列的字符串,并且值是无符号整数。使用print(dt_df) 我们得到:
感谢您的帮助。
【问题讨论】:
-
添加样本数据可以让我们清楚地了解您希望在哪一列中创建 IV 和 DV
-
感谢您的评论 :) ,csv 文件包含作为列字符串,并且值是无符号整数。
标签: python pandas dataframe train-test-split