pandas打乱数据集
一、总结
一句话总结:
pandas可以用sample方法返回random sample,可以用reset_index方法reset打乱之后的index
df=df.sample(frac=1.0) #打乱所有数据 df=df.reset_index(drop=True) #打乱后的数据index也是乱的,用reset_index重新加一列index,drop=True表示丢弃原有index一列
二、pandas打乱数据集(测试)
import pandas as pd
1、sample方法
In [8]:
data = pd.read_csv('./iris.data',header=None)
data
Out[8]:
In [9]:
data=data.sample(frac=1.0)#打乱所有数据
data
Out[9]:
为了结果的复现
可以看到设置的种子一样的时候,生成的随机数是一样的
In [19]:
data = pd.read_csv('./iris.data',header=None)
data=data.sample(frac=1.0,random_state=11)#打乱所有数据
data
Out[19]:
2、reset_index方法可以重新设置index(打乱数据集之后)
In [6]:
data = pd.read_csv('./iris.data',header=None)
data
Out[6]:
In [7]:
data=data.sample(frac=1.0)#打乱所有数据
data=data.reset_index(drop=True) #打乱后的数据index也是乱的,用reset_index重新加一列index,drop=True表示丢弃原有index一列
data
Out[7]:
In [ ]:
三、pandas打乱数据集(参照)
转自或参考:pandas打乱数据
https://blog.csdn.net/qq_24367797/article/details/86676160
在机器学习中,拿到一堆训练数据,一般会我们需要先将数据打乱,使数据随机排序,然后在进行切分,需要将数据切分成训练集、交叉验证集和测试集,在监督学习中还要切分出属性集和标签集。
(注:df代表一个DataFrame)
1.打乱数据
df=df.sample(frac=1.0)#打乱所有数据
df=df.reset_index(drop=True)#打乱后的数据index也是乱的,用reset_index重新加一列index,drop=True表示丢弃原有index一列
2.切割数据
train=df.iloc[:a]#取数据的前a行为训练集
x_train=train.iloc[:,:b]#取训练集的前b列为属性集
y_train=train.iloc[:,b:]#取训练集的最后一列标签集