当前位置: 首页>>代码示例>>用法及示例精选>>正文


python pandas Series.sample用法及代码示例

用法:

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

从对象轴返回随机的项目样本。

您可以使用random_state再现性。

参数:

nint, 可选参数

从轴返回的项目数。不能与frac。默认值= 1frac=无。

fracfloat, 可选参数

要返回的轴项的分数。不能与n

replacebool, 默认为 False

允许或不允许对同一行进行多次采样。

weightsstr 或 ndarray-like, 可选参数

默认的‘None’导致相等的概率加权。如果通过 Series ,将与索引上的目标对象对齐。在采样对象中找不到的权重的索引值将被忽略,而在采样对象中没有权重的索引值将被分配为零。如果在DataFrame上调用,则在axis = 0时将接受列的名称。除非权重为Series,否则权重的长度必须与要采样的轴的长度相同。如果权重不等于1,则将它们归一化为总和1。权重列中的缺失值将被视为零。不允许使用无限值​​。

random_stateint 或 numpy.random.RandomState, 可选参数

随机数生成器(如果为int)或numpy RandomState对象的种子。

axis{0 或 ‘index’, 1 或 ‘columns’, None}, 默认为 None

采样轴。接受轴编号或名称。对于给定的数据类型,默认值为stat轴(对于Series和DataFrame,为0)。

返回值:

Series

与调用者类型相同的新对象,其中包含n从调用者对象中随机采样的项目。

注意:

如果frac> 1replacement应该设置为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

从中提取3个随机元素Series df['num_legs']:请注意,我们使用random_state以确保示例的可重复性。

>>> df['num_legs'].sample(n=3, random_state=1)
fish      0
spider    8
falcon    2
Name:num_legs, dtype:int64

随机抽取50%DataFrame更换:

>>> 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

源码:

pandas.Series.sample的API实现见:[源代码]

注:本文由纯净天空筛选整理自 pandas.Series.sample。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。