PandasDataframe.sample()使用介绍

Pandas sample()用于从DataFrame中随机选择行和列。如果要从大量数据集构建模型, 则必须随机选择通过函数样本完成的较小数据样本。
句法

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

参数
  • n:这是一个可选参数, 由整数值组成, 并定义生成的随机行数。
  • frac:它也是一个可选参数, 由浮点值组成, 并返回浮点值*数据帧值的长度。不能与参数n一起使用。
  • replace:由布尔值组成。如果为true, 则返回带有替换的样本。替换的默认值为false。
  • 权重:它也是一个可选参数, 由类似于str或ndarray的参数组成。默认值” 无” 将导致相等的概率加权。
    如果正在通过系列赛;它将与索引上的目标对象对齐。在采样对象中找不到的权重索引值将被忽略, 而在采样对象中没有权重的索引值将被分配零权重。
    如果在轴= 0时正在传递DataFrame, 则返回0。它将接受列的名称。
    如果权重是系列;然后, 权重必须与被采样轴的长度相同。
    如果权重不等于1;它将被标准化为1的总和。
    权重列中的缺失值被视为零。
    权重栏中不允许无穷大。
  • random_state:它也是一个可选参数, 由整数或numpy.random.RandomState组成。如果值为int, 则为随机数生成器或numpy RandomState对象设置种子。
  • axis:它也是由整数或字符串值组成的可选参数。 0或” 行” 和1或” 列” 。
Return
它返回与调用者相同类型的新对象, 其中包含从调用者对象中随机采样的n个项目。
例1
import pandas as pdinfo = pd.DataFrame({'data1': [2, 4, 8, 0], 'data2': [2, 0, 0, 0], 'data3': [10, 2, 1, 8]}, index=['John', 'Parker', 'Smith', 'William'])infoinfo['data1'].sample(n=3, random_state=1)info.sample(frac=0.5, replace=True, random_state=1)info.sample(n=2, weights='data3', random_state=1)

输出
data1data2data3John2210William008

例2
在此示例中, 我们获取一个csv文件, 并使用示例从DataFrame中提取随机行。
名为aa的csv文件, 其中包含以下数据集:
PandasDataframe.sample()使用介绍

文章图片
【PandasDataframe.sample()使用介绍】让我们编写一个代码, 从上述数据集中提取随机行:
# importing pandas package import pandas as pd # define data frame from csv filedata = http://www.srcmini.com/pd.read_csv("aa.csv") # randomly select one rowrow1 = data.sample(n = 1)# display rowrow1# randomly select another row row2 = data.sample(n = 2) # displayrowrow2

输出
NameHire DateSalaryLeaves Remaining2Parker Chapman02/21/1445000.0105Michael Palin06/28/1366000.08

    推荐阅读