Python Pandas 如何shuffle(打乱)数据


Posted in Python onJuly 30, 2019

在Python里面,使用Pandas里面的DataFrame来存放数据的时候想要把数据集进行shuffle会许多的方法,本文介绍两种比较常用而且简单的方法。

应用情景:

我们有下面以个DataFrame

Python Pandas 如何shuffle(打乱)数据

我们可以看到BuyInter的数值是按照0,-1,-1,2,2,2,3,3,3,3这样排列的,我们希望不保持这个次序,但是同时列属性又不能改变,即如下效果:

Python Pandas 如何shuffle(打乱)数据

实现方法:

最简单的方法就是采用pandas中自带的 sample这个方法。

假设df是这个DataFrame

df.sample(frac=1)

这样对可以对df进行shuffle。其中参数frac是要返回的比例,比如df中有10行数据,我只想返回其中的30%,那么frac=0.3。

有时候,我们可能需要打混后数据集的index(索引)还是按照正常的排序。我们只需要这样操作

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

-------------------------------------分割线--------------------------------------------------------------

其实,sklearn(机器学习的库)中也有shuffle的方法。

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

另外,numpy库中也有进行shuffle的方法(不建议)

df.iloc[np.random.permutation(len(df))]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3指定路径寻找符合匹配模式文件
May 22 Python
python脚本内运行linux命令的方法
Jul 02 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 Python
python中四舍五入的正确打开方式
Jan 18 Python
Python必备技巧之函数的使用详解
Apr 04 Python
python tkinter实现屏保程序
Jul 30 #Python
python pandas 时间日期的处理实现
Jul 30 #Python
Django 反向生成url实例详解
Jul 30 #Python
Python Pandas数据中对时间的操作
Jul 30 #Python
python tkinter实现彩球碰撞屏保
Jul 30 #Python
详解python pandas 分组统计的方法
Jul 30 #Python
python文档字符串(函数使用说明)使用详解
Jul 30 #Python
You might like
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
深入理解vue中的$set
2017/06/01 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python装饰器练习题及答案
2019/11/01 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
高中三年学习生活的自我评价
2013/10/10 职场文书
班级课外活动总结
2014/07/09 职场文书
诚信教育主题班会
2015/08/13 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书