我有一个很大的数据集(大约200 k行),我想把数据集随机分成两部分,70%作为训练数据,30%作为测试数据。有没有办法在python中做到这一点?注意我还想把这些数据集保存为excel或csv文件在我的电脑中。谢谢!
6ojccjat1#
from sklearn.model_selection import train_test_split #split the data into train and test set train,test = train_test_split(data, test_size=0.30, random_state=0) #save the data train.to_csv('train.csv',index=False) test.to_csv('test.csv',index=False)
mtb9vblg2#
首先导入以下内容:
from sklearn.model_selection import train_test_split import pandas as pd
为了进行拆分,您可以使用sklearn包中的train_test_split函数:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
其中X,y是从原始 Dataframe 中获取的。稍后,您可以使用panda包将它们导出为CSV:
X_train.to_csv(index=False) X_test.to_csv(index=False)
y数据也是如此。编辑:当你澄清了这个问题并要求在同一个文件中同时使用X和Y因子时,你可以做以下操作:
train, test = train_test_split(yourdata, test_size=0.3, random_state=42)
然后像我上面提到的那样将它们导出为csv。
2条答案
按热度按时间6ojccjat1#
mtb9vblg2#
首先导入以下内容:
为了进行拆分,您可以使用sklearn包中的train_test_split函数:
其中X,y是从原始 Dataframe 中获取的。
稍后,您可以使用panda包将它们导出为CSV:
y数据也是如此。
编辑:当你澄清了这个问题并要求在同一个文件中同时使用X和Y因子时,你可以做以下操作:
然后像我上面提到的那样将它们导出为csv。