详解Pandas随机抽样(sample)使用方法

Pandas中的sample()函数可以从数据集中随机抽取行或列,可以用于数据集的随机采样、创建数据集的随机子集、模型评估等场景。下面我们来详细介绍一下sample()函数的用法。

首先,sample()函数有以下几个参数:

  • n: 抽取的行数或列数。
  • frac: 抽取的行数或列数相对于数据集的比例,范围在0到1之间。
  • replace: 是否允许重复抽取,默认为False。
  • weights: 可以为每个行或列设置权重,以便更有可能抽取它们。
  • random_state: 随机数种子,以确保每次抽样结果的一致性。

下面是一些常见的用法示例:

import pandas as pd

# 读取数据集
df = pd.read_csv('data.csv')

# 从数据集中随机抽取10行
sample_df = df.sample(n=10)

# 从数据集中随机抽取20%的行
sample_df = df.sample(frac=0.2)

# 允许重复抽取
sample_df = df.sample(n=10, replace=True)

# 为每个行设置不同的权重,以便更有可能抽取它们
weights = [0.1, 0.2, 0.3, 0.4]
sample_df = df.sample(n=10, weights=weights)

# 设置随机数种子,以确保每次抽样结果的一致性
sample_df = df.sample(n=10, random_state=42)

在这个例子中,我们首先使用pd.read_csv()函数读取一个名为data.csv的数据集。

然后,我们使用sample()函数从数据集中随机抽取一些行或列,并将结果存储在sample_df变量中。

在第一个例子中,我们抽取了10行数据;
在第二个例子中,我们抽取了20%的行;
在第三个例子中,我们允许重复抽取;
在第四个例子中,我们为每个行设置了不同的权重;
在第五个例子中,我们设置了随机数种子,以确保每次抽样结果的一致性。

值得注意的是,sample()函数可以用于Series和DataFrame对象。如果要对DataFrame进行抽样,可以通过指定axis参数来指定抽取行或列。例如,要从DataFrame中随机抽取3列,可以这样做:

sample_df = df.sample(n=3, axis=1)

在这个例子中,我们设置了axis=1,表示我们要从DataFrame的列中进行抽样。最后,我们从DataFrame中抽取了3列数据,并将结果存储在sample_df变量中。

本文链接:https://my.lmcjl.com/post/19886.html

展开阅读全文

4 评论

留下您的评论.