如何使用熊猫从一个数据框创建测试并训练样本?

我有一个数据框形式的相当大的数据集,我想知道如何将数据框分成两个随机样本(80%和20%)进行训练和测试。



万千封印
浏览 428回答 3
3回答

心有法竹

我只会用numpy的randn:In [11]: df = pd.DataFrame(np.random.randn(100, 2))In [12]: msk = np.random.rand(len(df)) < 0.8In [13]: train = df[msk]In [14]: test = df[~msk]只是看到它起作用了:In [15]: len(test)Out[15]: 21In [16]: len(train)Out[16]: 79

料青山看我应如是

scikit Learn'strain_test_split是一个不错的选择。from sklearn.model_selection import train_test_splittrain, test = train_test_split(df, test_size=0.2)

收到一只叮咚

我将使用scikit-learn自己的training_test_split,并从索引生成它from sklearn.cross_validation import train_test_splity = df.pop('output')X = dfX_train,X_test,y_train,y_test = train_test_split(X.index,y,test_size=0.2)X.iloc[X_train] # return dataframe train
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python