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 相关文章推荐
Python pickle模块用法实例分析
May 27 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
Python实现翻转数组功能示例
Jan 12 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python的依赖管理的实现
May 14 Python
pandas中ix的使用详细讲解
Mar 09 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
Django封装交互接口代码
Jul 12 Python
Python常用GUI框架原理解析汇总
Dec 07 Python
python palywright库基本使用
Jan 21 Python
Python深度学习之实现卷积神经网络
Jun 05 Python
python双向链表实例详解
May 25 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
PHP 翻页 实例代码
2009/08/07 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
获取远程文件大小的php函数
2010/01/11 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
php读取3389的脚本
2014/05/06 PHP
laravel学习教程之关联模型
2016/07/30 PHP
jquery 可排列的表实现代码
2009/11/13 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
Python使用django搭建web开发环境
2017/06/09 Python
Python中的CSV文件使用"with"语句的方式详解
2018/10/16 Python
对python 自定义协议的方法详解
2019/02/13 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
python环境下安装opencv库的方法
2020/03/05 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
计算机专业毕业生自我鉴定
2014/01/16 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
以权谋私检举信范文
2015/03/02 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
python元组打包和解包过程详解
2021/08/02 Python