把pandas.DataFrame中所有行全部随机排列

  统计/机器学习 Python    浏览次数:7614        分享
2

我有个DataFrame,有什么办法可以把其中的行打乱,随机重新排列的,谢谢!


 

魏哲   2017-10-18 12:14



   3个回答 
4

pandas的dataframe有自带的sample功能,当设参数frac=1的时候,就相当于对行做shuffle

df = df.sample(frac=1)


如果重新排列之后希望index还是从0开始排序的话,可以这样操作

df = df.sample(frac=1).reset_indedx(drop=True)



SofaSofa数据科学社区DS面试题库 DS面经

五道口少年   2017-10-18 21:09

4

用np.random.permutation构建一个随机序列,作为index来对df进行shuffle处理 

from np.random import permutation
idx = permutation(len(df))
df[idx]


SofaSofa数据科学社区DS面试题库 DS面经

xfyx   2018-10-24 17:28

2

随机重排的属于叫做shuffle,也就是“洗牌”。

sklearn里有洗牌的函数。

from sklearn.utils import shuffle
df = shuffle(df)


SofaSofa数据科学社区DS面试题库 DS面经

岛歌   2017-10-18 12:50



  相关主题

将pandas DataFrame保存成本地txt并删去列名   1回答

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容   1回答

怎么提取pandas dataframe中某一列每个字符串的前n个字符?   1回答

pandas数据列顺序不同进行concat   1回答

pandas.DataFrame里at, iat, loc, iloc区别   1回答

pandas的DataFrame如何插入带有index的行数据?   1回答

pandas中某列中数字后边有 亿/万这种单位 如何处理   1回答

如何对pandas dataframe的行做循环?   3回答

pandas报错: 'DataFrame' object has no attribute 'unique'   1回答

pandas新建一个只有一行的dataframe时结果返回空的dataframe   1回答

怎么对pandas dataframe中的值进行查找替换?   2回答

怎么改变pandas dataframe里column的顺序?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!