您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
要使用iloc
实现DataFrame的随机样本分层,首先需要对数据进行分层,然后在每个层次上随机抽取样本。以下是一个示例:
import pandas as pd
import numpy as np
# 创建一个模拟数据集
data = {'A': np.random.randint(1, 100, 100),
'B': np.random.randint(1, 100, 100),
'C': np.random.choice(['a', 'b', 'c'], 100)}
df = pd.DataFrame(data)
# 对数据集进行分层
stratified_data = df.groupby('C')
# 定义要抽取的样本数量
sample_size = 5
# 从每个层次上随机抽取样本
random_samples = []
for group_name, group_data in stratified_data:
random_indices = np.random.choice(group_data.index, size=min(sample_size, len(group_data)), replace=False)
random_samples.append(group_data.loc[random_indices])
# 将抽取的样本合并为一个新的DataFrame
random_sampled_df = pd.concat(random_samples)
print(random_sampled_df)
这个示例首先创建了一个包含3列(A、B和C)的模拟数据集,其中C列有3个类别(a、b、c)。然后,我们使用groupby
函数对数据集进行分层,并从每个层次上随机抽取5个样本。最后,我们将抽取的样本合并为一个新的DataFrame。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。