用法:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False)
从对象的轴返回项目的随机样本。
您可以使用
random_state
来获得重现性。- n:整数,可选
从轴返回的项目数。不能与
frac
一起使用。如果frac
= 无,则默认 = 1。- frac:浮点数,可选
要返回的轴项目的分数。不能与
n
一起使用。- replace:布尔值,默认为 False
允许或禁止对同一行多次采样。
- weights:str 或ndarray-like,可选
默认“无”导致相等的概率权重。如果传递一个系列,将与索引上的目标对象对齐。采样对象中未找到的权重索引值将被忽略,采样对象中未找到权重的索引值将分配为零权重。如果在 DataFrame 上调用,将在轴 = 0 时接受列的名称。除非权重是一个系列,否则权重必须与被采样的轴的长度相同。如果权重总和不为 1,则它们将被归一化为总和为 1。权重列中的缺失值将被视为零。不允许无限值。
- random_state:int,array-like,BitGenerator,np.random.RandomState,np.random.Generator,可选
如果是 int、array-like 或 BitGenerator,则为随机数生成器的种子。如果 np.random.RandomState 或 np.random.Generator,按给定使用。
- axis:{0 或‘index’,1 或‘columns’,无},默认无
要采样的轴。接受轴号或名称。默认是给定数据类型的统计轴(系列和数据帧为 0)。
- ignore_index:布尔值,默认为 False
如果为 True,则生成的索引将标记为 0、1、...、n - 1。
- Series或DataFrame
一个与调用者类型相同的新对象,其中包含从调用者对象中随机采样的
n
项。
参数:
返回:
注意:
如果
frac
> 1,则replacement
应设置为True
。例子:
>>> df = pd.DataFrame({'num_legs':[2, 4, 8, 0], ... 'num_wings':[2, 0, 0, 0], ... 'num_specimen_seen':[10, 2, 1, 8]}, ... index=['falcon', 'dog', 'spider', 'fish']) >>> df num_legs num_wings num_specimen_seen falcon 2 2 10 dog 4 0 2 spider 8 0 1 fish 0 0 8
从
Series
df['num_legs']
中提取 3 个随机元素:请注意,我们使用random_state
来确保示例的可重复性。>>> df['num_legs'].sample(n=3, random_state=1) fish 0 spider 8 falcon 2 Name:num_legs, dtype:int64
DataFrame
的随机 50% 样本替换:>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8
DataFrame
带替换的上采样示例:请注意,replace
参数必须为True
,以便frac
参数 > 1。>>> df.sample(frac=2, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 falcon 2 2 10 falcon 2 2 10 fish 0 0 8 dog 4 0 2 fish 0 0 8 dog 4 0 2
使用 DataFrame 列作为权重。
num_specimen_seen
列中具有较大值的行更有可能被采样。>>> df.sample(n=2, weights='num_specimen_seen', random_state=1) num_legs num_wings num_specimen_seen falcon 2 2 10 fish 0 0 8
相关用法
- Python pandas.DataFrame.sparse.from_spmatrix用法及代码示例
- Python pandas.DataFrame.select_dtypes用法及代码示例
- Python pandas.DataFrame.size用法及代码示例
- Python pandas.DataFrame.subtract用法及代码示例
- Python pandas.DataFrame.stack用法及代码示例
- Python pandas.DataFrame.set_index用法及代码示例
- Python pandas.DataFrame.sort_index用法及代码示例
- Python pandas.DataFrame.shape用法及代码示例
- Python pandas.DataFrame.swaplevel用法及代码示例
- Python pandas.DataFrame.sub用法及代码示例
- Python pandas.DataFrame.sort_values用法及代码示例
- Python pandas.DataFrame.shift用法及代码示例
- Python pandas.DataFrame.set_flags用法及代码示例
- Python pandas.DataFrame.sparse.to_dense用法及代码示例
- Python pandas.DataFrame.squeeze用法及代码示例
- Python pandas.DataFrame.std用法及代码示例
- Python pandas.DataFrame.set_axis用法及代码示例
- Python pandas.DataFrame.sum用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.sample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。