📅  最后修改于: 2023-12-03 15:04:26.855000             🧑  作者: Mango
pandas
是一个开源数据分析与数据处理库,提供了强大的数据结构和数据处理工具,在数据分析和数据预处理中使用广泛。pandas.DataFrame.sample()
方法可用于从数据框中随机采样。
pandas.DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
n
:整数类型,指定从数据框中随机采样的行数,若不传递该参数,或指定为None
则将会根据frac参数采样。frac
:浮点型,指定从数据框中随机采样行的比例,范围[0,1],如0.5表示保留50%的数据行数;若不传递该参数,则默认值为1(保留所有数据行)。replace
:布尔型,指定是否放回采样,即是否允许在一次采样中重复选择同一行,默认为False
即不放回。weights
:1D数组,用于指定每行的采样权重,行对应的索引应与数据框行索引一致。如果数据框中的每行具有相同的采样概率,则weights=None
,否则指定每行的采样概率。random_state
:整型,可用于种子,使该函数具有确定性。若闲置(默认为None
),则使用numpy随机数生成器。axis
:指定轴方向,默认为 0,即沿着行方向采样。pandas.DataFrame.sample()
方法返回一个采样的数据框。
例如,假如我们有一个数据框,具有如下数据:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]})
则可以通过如下方式从数据框df中随机选择一些行,获取随机的3行数据:
df.sample(n=3)
输出结果如下:
A B C
2 3 7 11
1 2 6 10
0 1 5 9
另外,我们也可以通过frac参数设置要保留的行数的百分比,如果想要获取50%的随机数据,可以这样做:
df.sample(frac=0.5)
输出结果如下:
A B C
3 4 8 12
1 2 6 10
如果想要获取有放回的随机数据,可以将参数replace设为True。例如,从数据框df中随机选择3行数据,允许重复选择同一行:
df.sample(n=3, replace=True)
输出结果如下:
A B C
3 4 8 12
3 4 8 12
1 2 6 10
更多关于pandas.DataFrame.sample()
方法的信息,请参考pandas
官网。