当前位置: 首页 > 编程笔记 >

python Pandas如何对数据集随机抽样

濮阳立果
2023-03-14
本文向大家介绍python Pandas如何对数据集随机抽样,包括了python Pandas如何对数据集随机抽样的使用技巧和注意事项,需要的朋友参考一下

摘要:有时候我们只需要数据集中的一部分,并不需要全部的数据。这个时候我们就要对数据集进行随机的抽样。pandas中自带有抽样的方法。

应用场景:

我有10W行数据,每一行都11列的属性。

现在,我们只需要随机抽取其中的2W行。

实现方法很简单:

利用Pandas库中的sample。

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

n是要抽取的行数。(例如n=20000时,抽取其中的2W行)

frac是抽取的比列。(有一些时候,我们并对具体抽取的行数不关系,我们想抽取其中的百分比,这个时候就可以选择使用frac,例如frac=0.8,就是抽取其中80%)

replace:是否为有放回抽样,取replace=True时为有放回抽样。

weights这个是每个样本的权重,具体可以看官方文档说明。

random_state这个在之前的文章已经介绍过了。

axis是选择抽取数据的行还是列。axis=0的时是抽取行,axis=1时是抽取列(也就是说axis=1时,在列中随机抽取n列,在axis=0时,在行中随机抽取n行)

具体用法:

假设DataFrame为df

import pandas as pd
df.sample(n=20000)

另外,介绍一种不是Pandas中的方法。如果想用Numpy这个库进行也可以。

import numpy as np
np.random.sample(Your_index)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我有一个很大的数据集,想将其分为训练(50%)和测试集(50%)。 假设我有100个示例存储了输入文件,每一行包含一个示例。我需要选择50条线作为训练集和50条线测试集。 我的想法是首先生成一个长度为100(值范围从1到100)的随机列表,然后将前50个元素用作50个训练示例的行号。与测试集相同。 这可以在Matlab中轻松实现 但是如何在Python中完成此功能?我是Python的新

  • 问题内容: 如何填充一个int列(当前为空),其中包含不带重复项的随机数? 问题答案: 我想您可以使该列成为防止重复的主键,尽管这是一种hack。您可以稍后删除密钥。

  • 问题内容: 我有一个像这样的数组: 如何将其随机/随机播放? 问题答案: 实际无偏混洗算法是Fisher-Yates(aka Knuth)。

  • 问题内容: 背景 我正在从事某种数据记录器的工作。 我想尝试1000000(1M)行需要多少存储空间,以及Raspberry Pi如何处理如此大的表。我想对一些查询进行分组,计算平均值和其他性能实验。 我的桌子看起来像这样: 问题 如何 在MySQL 中用1万亿行填充它? 要求: 栏位:随机时间戳记,但仅限一年 栏位:指定范围内的随机浮点数(例如0.00-100.00) 是自动增量,无需在意 总是

  • 本文向大家介绍js实现随机抽奖,包括了js实现随机抽奖的使用技巧和注意事项,需要的朋友参考一下 前言 在前端的开发当中,我们肯定会遇到随机抽奖的需求。我们要怎么去实现呢?下面就来分享随机抽奖的JS代码,有需要的小伙伴可以复制到编译器当中运行查看效果。 随机抽奖的JS代码 小编还为大家准备了精彩的专题:javascript经典小游戏汇总 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多

  • 问题内容: 我有一个数据库表,其中包含约1.6亿行。 该表有两列: 和。 我只需要使用PHP从列中显示1000个随机行并将它们放入标记中。像这样: 我一直在尝试这样做,但是要花这么长时间才能在如此大的数据库上加载,而且我找不到其他解决方案。 我希望有一个快速/轻松的方法来做到这一点。我无法想象仅回显1000个随机行是不可能的……谢谢! 问题答案: ORDER BY RAND()是一个可以在小型数据