平时工作中,经常遇到随机抽样的需求,可用Pandas库中的sample函数,简单又快捷。
官方文档解释在这:sample
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
- n: 要抽取的行数,需为整数值
- frac:抽取的比列,需为小数值,比方说我们想随机抽取30%的数据,则设置frac=0.3即可。
- replace:抽样后的数据是否代替原DataFrame(),默认为False
- weights:默认为等概率加权
- random_state:随机种子,本质是一个控制器,设置此值为任意实数,则每次随机的结果是一样的
- axis:抽取数据的行还是列,axis=0的时是抽取行,axis=1时是抽取列
import pandas
#随机从rs数据集中抽取2000行数据,并且保证下次抽取时与此次抽取结果一样
rs.sample(n=2000,random_state=123,axis=0)
#随机从rs数据集中抽取50%的行数据
rs.sample(frac=0.5,axis=0)