python 列表 随机采样_Python 随机抽样

# -*- coding: utf-8 -*-

import numpy

import pandas

data = pandas.read_csv(

'D:\\PDA\\4.9\\data.csv'

)

#设置随机种子

numpy.random.seed(seed=2)

#按照个数抽样

data.sample(n=10)

#按照百分比抽样

data.sample(frac=0.02)

#是否可放回抽样,

#replace=True,可放回,

#replace=False,不可放回

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

#典型抽样,分层抽样

gbr = data.groupby("class")

gbr.groups

typicalNDict = {

1: 2,

2: 4,

3: 6

}#定义一个字典,从一班级中抽取2个人,二班级中抽取4个人,三班级中抽取6个人

def typicalSampling(group, typicalNDict):

name = group.name

n = typicalNDict[name]

return group.sample(n=n)

result = data.groupby(

'class', group_keys=False

).apply(typicalSampling, typicalNDict)#向量化运算的函数apply

typicalFracDict = {

1: 0.2,

2: 0.4,

3: 0.6

}#定义字典,按照百分比抽样

def typicalSampling(group, typicalFracDict):

name = group.name

frac = typicalFracDict[name]

return group.sample(frac=frac)

result = data.groupby(

'class', group_keys=False

).apply(typicalSampling, typicalFracDict)

idclassscore

3940145

45163

5354195

2526164

37381107

7071175

8586277

8182263

54552121

6869256

1314269

8687293

5758282

8485285

94952103

96972108

35362101

8990286

4546295

8081281

20212138

6566383

8384352

3435366

67387

7778377

8283354

55563126

1718358

6768393

1011389

2627364

61623103

8889389

6970396

01377

9091391

9192359

4849398

78348

5253362

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值