实现对DataFrame对象随机采样

pandas是基于numpy建立起来的,所以numpy大部分函数可作用于DataFrame和Series数据结构。

numpy.random.permutation(n)函数可以产生0~n范围内的n个随机数,输出形式为numpy数组。

In:

import numpy as np
sampler = np.random.permutation(10)
sampler

Out:

array([7, 6, 0, 8, 2, 5, 3, 1, 9, 4])

新建一个(10 * 5) DataFrame对象,然后随机从中抽取5行

In:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(50).reshape(10,5))
df

Out:

In:

sample_df = np.random.permutation(len(df))
sample_df

Out:

array([9, 4, 6, 8, 3, 5, 0, 1, 7, 2])

使用Pandas的take函数作用于数组sample_df,结果是对df进行了随机排序,选取5行

In:

df_new = df.take(sample_df[:5])
df_new

out:

结果是随机选出来的(5*5)的新DataFrame对象

最新文章

  1. CentOS 6 安装 MySQL-python
  2. POJ3928 Pingpong(统计比 K 小的个数 + 树状数组)
  3. sysctl命令详解
  4. Scrapy Learning笔记(四)- Scrapy双向爬取
  5. LINUX SHELL条件判断
  6. Chrome: Shockwave Flash isn't responding
  7. CSS实现侧边栏固定宽度,内容栏自适应
  8. 转:使用C#的HttpWebRequest模拟登陆网站
  9. [补档]暑假集训D8总结
  10. NopCommerce添加事务机制
  11. [知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原
  12. redis -list
  13. jQuery实现搜索框插件+豆瓣音乐接口实现豆瓣搜索框
  14. SpringBoot@GeneratedValue 四种参数
  15. Spring中属性注入的几种方式以及复杂属性的注入
  16. zabbix报错cannot set resource limit: [13] Permission denied解决方法
  17. 图片循环滚动效果shader
  18. MySQL底层索引剖析
  19. Fiddler抓包12-AutoResponder返回本地数据(mock)
  20. php htmlentities和htmlspecialchars 的区别

热门文章

  1. .NET开发框架(五)-IIS上部署ASP.NET Core项目教程
  2. python查询elasticsearch(Query DSL) 实例
  3. 关于elasticsearch安装及搭建集群时候的错误
  4. 一套简单的web即时通讯——第一版
  5. 哈工大计算机网络Week2-网络应用数据交换
  6. Hash的应用2
  7. EnjoyingSoft之Mule ESB开发教程第一篇:初识Mule ESB
  8. py+selenium+IE10【IE已停止工作】【已解决】
  9. Linux基础学习整理
  10. 安卓开发之详解getChildFragmentManager和getsupportFragmentManager和getFragmentManager详解