pandas.DataFrame.sample随机抽样

pandas.DataFrame.sample随机抽样_第1张图片

们在统计,数据分析,建模中常遇到大数据,sql取数太大机器卡死。其实如果我们懂得统计学的随机抽样方法,就可以四两拨千斤。

有时候我觉得大数据是忽悠人的,真正工程师和hacker讲究最小成本得到最优化解。二战中,英国人用随机抽样统计出了德国工厂真实坦克生产量。我们完全没有必要应用大数据,毕竟太耗时间和资源。损失一些精度,换来时间和资源空间是很好选择。这节课,我讲解pandas.DataFrame.sample常用于随机抽样原理。

欢迎各位同学学习我录制的更多相关知识从0到1Python数据科学之旅 :https://edu.csdn.net/combo/detail/1929

1    数据切片选取
1.1    pandas.DataFrame.sample 随机选取若干行
1.1.1     功能说明
             有时候我们只需要数据集中的一部分,并不需要全部的数据。这个时候我们就要对数据集进行随机的抽样。pandas中自带有抽样的方法。

功能相似:numpy.random.choice
    Generates a random sample from a given 1-D numpy array.

1.1.2     使用说明
1.    函数名及功能
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source]

2.    输入参数说明

pandas.DataFrame.sample随机抽样_第2张图片

参数名称 参数说明 举例说明
n 要抽取的行数
df.sample(n=3,random_state=1)
提取3行数据列表
注意,使用random_state,以确保可重复性的例子。

frac
抽取行的比例
例如frac=0.8,就是抽取其中80%。

df.sample(frac=0.8, replace=True, random_state=1)
replace
是否为有放回抽样,
True:有放回抽样
False:未放回抽样

True:取行数据后,可以重复放回后再取
False:取行数据后不放回,下次取其它行数据
注意:当N>总数据容量,replace设置为值时有效

 

weights
字符索引或概率数组

axis=0:为行字符索引或概率数组
axis=1:为列字符索引或概率数组

 
random_state
int: 随机数发生器种子
或numpy.random.RandomState

random_state=None,取得数据不重复
random_state=1,可以取得重复数据

 

axis
选择抽取数据的行还是列
axis=0:抽取行
axis=1:抽取列

也就是说axis=1时,在列中随机抽取n列,在axis=0时,在行中随机抽取n行。
3.    返回值说明
返回选择的N行元素的DataFrame对象。

欢迎访问讲师csdn学院教学主页:https://edu.csdn.net/lecturer/5602,学习更多python金融模型实战。

你可能感兴趣的:(python生物信息学,python风控模型,python,大数据,数据分析,统计学,pandas)