pandas.Panel.sample

Panel.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source]

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

版本0.16.1中的新功能。

参数:

n:int,optional

轴返回的项目数。不能与frac配合使用。如果frac = None,则默认值= 1。

frac:float,可选

要返回的轴项目的分数。不能与n一起使用。

替换:boolean,可选

样品有或没有更换。默认= False。

权重:str或ndarray-like,可选

默认“无”导致相等的概率加权。如果传递了一个Series,将与索引上的目标对象对齐。在采样对象中未找到的权重中的索引值将被忽略,并且不在权重中的采样对象中的索引值将被分配权重为零。如果在DataFrame上调用,当axis = 0时将接受列的名称。除非权重是一个系列,权重必须与被采样轴的长度相同。如果权重不等于1,则它们将被归一化为总和为1。权重列中的缺失值将被视为零。inf和-inf值不允许。

random_state:int或numpy.random.RandomState,可选

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

axis:int或string,可选

要采样的轴。接受轴号或名称。默认为给定数据类型的统计轴(0表示Series和DataFrames,1表示面板)。

返回:

与调用者具有相同类型的新对象。

例子

生成示例SeriesDataFrame

>>> s = pd.Series(np.random.randn(50))
>>> s.head()
0   -0.038497
1    1.820773
2   -0.972766
3   -1.598270
4   -1.095526
dtype: float64
>>> df = pd.DataFrame(np.random.randn(50, 4), columns=list('ABCD'))
>>> df.head()
          A         B         C         D
0  0.016443 -2.318952 -0.566372 -1.028078
1 -1.051921  0.438836  0.658280 -0.175797
2 -1.243569 -0.364626 -0.215065  0.057736
3  1.768216  0.404512 -0.385604 -1.457834
4  1.072446 -1.137172  0.314194 -0.046661

接下来从这两个对象中提取一个随机样本...

来自Series的3个随机元素:

>>> s.sample(n=3)
27   -0.994689
55   -1.049016
67   -0.224565
dtype: float64

随机10%的具有替换的DataFrame

>>> df.sample(frac=0.1, replace=True)
           A         B         C         D
35  1.981780  0.142106  1.817165 -0.290805
49 -1.336199 -0.448634 -0.789640  0.217116
40  0.823173 -0.078816  1.009536  1.015108
15  1.421154 -0.055301 -1.922594 -0.019696
6  -0.148339  0.832938  1.787600 -1.383767
Scroll To Top