📜  Python|熊猫 Dataframe.sample()(1)

📅  最后修改于: 2023-12-03 15:04:26.855000             🧑  作者: Mango

Python中的pandas.DataFrame.sample()

介绍

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官网。