pandas dataframe 如何打乱数据

本文介绍在机器学习预处理阶段,如何使用Pandas DataFrame的三种方法来打乱数据,确保训练集覆盖数据的各个分布,提高模型泛化能力。方法包括使用sample()函数、sklearn的shuffle方法及通过随机索引选择。

pandas dataframe 如何打乱数据

背景

主要是我们在进行机器学习训练过程中,我们经常拿到的数据是有序,但是为了取得的数据能够覆盖每一个分布,需要对数据进行重新洗牌。

三种方法

1.df.sample()

df.sample(frac=0.5)

frac表示数据集中挑选出数据的比例
如上述代码,df是你的数据集,frac=0.5,表示随机挑选50%的数据。

2.应用sklearn中shuffle方法

from sklearn.utils import shuffle
df = shuffle(df,n_samples=1)

df表示原来的数据集
n_sample:打乱挑选的数据个数

3.通过index进行选择

dataframe索引默认是int,可以通过生成某一范围内的随机数按照index值进行索引

shuffle_index = np.random.permutation(len(df))
df.iloc[shuffle_index]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值