pandas学习之df.sample

pandas学习之df.sample

df.sample()用于从dataframe或者series中,随机取样。sample 美['sæmp(ə)l] v采样;取样;n样品

官方文档:

DataFrame.sample(self: ~ FrameOrSeries, n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

参数详解

  1. 构建实例
import pandas as pd 
df = pd.DataFrame({'name':['zhao','qian','sun','wang'],'mark':[150,122,155,132],'gender':['female','female','male','male']})
df

	name	mark	gender
0	zhao	150		female
1	qian	122		female
2	sun		155		male
3	wang	132		male
  1. n:int,optional
    从数据集中随机选取n行数据,不能和frac参数同时使用。如果frac=None,那么n默认为1.
	name	mark	gender
0	zhao	150		female
1	qian	122		female
2	sun		155		male
3	wang	132		male

df.sample(2)
	name	mark	gender
1	qian	122		female
0	zhao	150		female
  1. frac:float,optional
    从数据集中选取一定比例的数据,不能和n同时使用。如果frac>1,replace必须为True
df.sample(frac=0.75)

	name	mark	gender
2	sun		155		male
1	qian	122		female
0	zhao	150		female
  1. replace:bool,default False
    是否允许重复取样,即一条数据多次选取。默认为否
df.sample(3,replace=True)

	name	mark	gender
0	zhao	150		female
1	qian	122		female
0	zhao	150		female
#里面有重复的数据
  1. weight:str or narray-like,optional
    为每条数据添加权重。默认为None。如果axis = 0,可以直接使用某一列为权重。除非权重的类型为series,否则权重的长度必须和数据集中所用轴方向的(axis=0 or )一样长。如果权重和大于一,则会归一化为1.
	name	mark	gender
0	zhao	150		female
1	qian	122		female
2	sun		155		male
3	wang	132		male
df.sample(3,replace=True,weights=[1,2,3,4])

	name	mark	gender
3	wang	132		male
3	wang	132		male
3	wang	132		male
#选取到3行的概率更大了
  1. random_state:int or numpy.random.randomstate.optional
    随机数种子
df.sample(2,replace=True,random_state=3)

	name	mark	gender
2	sun		155		male
0	zhao	150		female

指定随机数种子后,每次选取的结果就固定了。

  1. axis
    选择轴向,0(index)或者1(columns),默认是0

pandas学习之df.sample_第1张图片

6/16学习打卡,加油,又是学废的一天!

你可能感兴趣的:(pandas,python,数据分析)