按给定的比例随机分割一个Pandas数据框架的完整攻略如下:
- 首先,导入所需的库
import pandas as pd
from sklearn.model_selection import train_test_split
- 加载数据集,这里以鸢尾花数据集为例
df = pd.read_csv('https://archive.ics.uci.edu/ml/'
'machine-learning-databases/iris/iris.data',
header=None)
- 数据集一般包含两部分:特征和目标变量。我们需要将其分开,其中特征为前四列数据,目标变量为最后一列数据
X = df.iloc[:, :-1].values # 特征
y = df.iloc[:, -1].values # 目标变量
- 然后,我们需要根据给定的比例随机分割数据集。这里使用scikit-learn库的train_test_split()函数
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
其中,test_size参数表示测试集数据量所占比例,这里为30%;random_state参数表示随机种子,保证每次运行时分割结果相同。
- 现在,我们已经成功将数据集随机分割,可以对分割结果进行检查
print('训练集样本数:', X_train.shape[0])
print('测试集样本数:', X_test.shape[0])
- 最后,可以将分割后的数据集保存为新的数据框架
train_df = pd.DataFrame(X_train, columns=df.columns[:-1])
train_df['target'] = pd.Series(y_train, index=train_df.index)
test_df = pd.DataFrame(X_test, columns=df.columns[:-1])
test_df['target'] = pd.Series(y_test, index=test_df.index)
以上就是按给定的比例随机分割一个Pandas数据框架的完整攻略,下面是完整实例代码
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:按给定的比例随机分割一个Pandas数据框架 - Python技术站