13、python对数据进行随机抽样、按比例、分层抽样

python基础 专栏收录该内容
36 篇文章 2 订阅

随机抽样:按照一定的行数或者比例进行数据的抽取

随机抽样行数公式:

DataFrame.sample(n,frac,replace=False)

    n  按个数抽样
    frac 按百分比抽样
    replace 是否放回抽样,默认false为不放回

import numpy

# 设置随机种子seed( ) 
# 用于指定随机数生成时所用算法开始的整数值,
# 如果使用相同的seed( )值,则每次生成的随即数都相同,
# 如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

numpy.random.seed(seed=2)

1、 按照个数抽样

data.sample(n=10)

2、按照百分比进行抽样

data.sample(frac=0.02)

3、有放回的抽样,有可能两次抽到同样的数据

data.sample(n=10,replace=True)


4、典型抽样 分成抽样
 

numpy.random.seed(seed=2) # 如果使用相同的seed( )值,则每次生成的随即数都相同,

# 用groupby进行数据的分组,根据班级

gbr=data.groupby('class')

# 获取分组后gbr的数据

gbr.groups

# 分层抽样字典定义 组名:数据个数

typicalNDict={
        1:2,
        2:4,
        3:6
        }

#函数定义

def typicalsamling(group,typicalNDict):
    name=group.name
    n=typicalNDict[name]
    return group.sample(n=n)

result=data.groupby(
        'class',group_keys=False
        ).apply(typicalsamling,typicalNDict)

   
    返回值:抽样后的数据框

 

  • 4
    点赞
  • 1
    评论
  • 48
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值