記錄抽取及隨機抽樣及分層抽樣

2021-09-25 04:26:27 字數 1647 閱讀 9526

#單條件抽取

bc.columns=['id','comments','title']

#將字元型轉成整數型

bc['id']=bc['id'].astype(int)

bc['comments']=bc['comments'].astype(int)

bc['title']=bc['title'].astype(str)

#抽取comments大於10000的記錄

bc[bc.comments>10000]

#範圍抽取,左右都是閉合的

bc[bc.comments.between(5000,6000)]

#過濾空值

bc[pandas.isnull(bc.title)]

#字元匹配

bc[bc.title.str.contains('小公尺',na=false)]

#取反bc[~bc.title.str.contains('小公尺',na=false)]

#組合邏輯

#隨機抽樣

import numpy

import pandas

ca=pandas.read_csv('d://python projects//reference data')

#設定隨機種子

numpy.random.seed(2)

#按照個數抽樣

ca.sample(n=10)

#按百分比抽樣

ca.sample(frac=0.05)

#可放回抽樣

ca.sample(n=10,replace=true)

#典型抽樣,分層抽樣

cla=ca.groupby('class')

cla.groups

#使用字典定義分層抽樣的方法

#按指定數量分層抽樣

typical=

def typicaltemping(group,typical):

name=group.name

n=typical[name]

return group.sample(n=n)

def typicalpercent(groupper,typicab):

name=groupper.name

frac=typicab[name]

return groupper.sample(frac=frac)

numpy之隨機抽樣,簡單記錄一下指令

numpy.random.binomial n,p,size none size 取樣的次數,n 做的n次伯努利實驗,p 實驗成功的概率。numpy.random.poisson lam 1.0,size none size 表示取樣的次數,lam 表示乙個單位內發生事件的平均值,函 數的返回值表示...

最全隨機抽樣演算法 從N個數中抽取M個等 集合

1.從n個數中等概率抽取m個數 從n個樣本中等概率抽取m個樣本 mpublic static setsampletest set.add second while set.contains third set.add third return set public static void sampl...

分桶及分桶抽樣查詢

1.先建立普通表 2.在建立分桶表 1 create table 表名 字段 型別,clustered by 根據分桶的字段 into 分桶數 buckets row format delimited fields terminated by 根據什麼分割 create table stu buck...