温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用iloc实现DataFrame的随机样本分层

发布时间:2024-09-01 15:41:39 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

要使用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。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI