pandas中,DataFrame.sample 的理解:

发布时间:2024年01月20日

DataFrame.sample 是 pandas 库中 DataFrame 对象的方法,用于从数据框中抽取随机样本。

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
  1. n(int或None):

    • 指定要抽取的样本数量。如果指定了 n,则 frac 应设置为 None。
  2. frac(float或None):

    • 指定要抽取的样本占原数据框的比例。可以是小数,表示抽取的比例,例如 frac=0.25 表示抽取 25% 的样本。
    • 如果同时指定了 nfrac,将使用 frac 参数。
  3. replace(bool,默认为False):

    • 控制是否允许重复抽样。如果设置为 True,则允许同一样本被抽取多次;如果设置为 False,则不允许重复抽样。
  4. weights(str或数组型,默认为None):

    • 指定每个样本的权重。可以是列名,指示样本权重的列,也可以是权重数组。
  5. random_state(int或RandomState实例或None,默认为None):

    • 控制随机抽样的随机化过程。指定一个整数可以实现可重复的随机抽样。
  6. axis({0或‘index’,1或‘columns’},默认为0):

    • 指定抽样的轴。如果为 0 或 'index',则在行上进行抽样;如果为 1 或 'columns',则在列上进行抽样。

应用示例:

import pandas as pd

df = pd.read_csv('label.txt', sep='\t')

# 从数据框中抽取10个样本
sampled_data = df.sample(n=10)

# 从数据框中抽取总样本的30%
sampled_data_frac = df.sample(frac=0.3)

# 从数据框中进行有放回抽样(允许重复)
sampled_with_replacement = df.sample(n=10, replace=True)

# 指定每个样本的权重进行抽样
sampled_with_weights = df.sample(n=10, weights='column_with_weights')

# 指定随机种子以实现可重复抽样
sampled_with_seed = df.sample(n=10, random_state=42)

文章来源:https://blog.csdn.net/weixin_51659315/article/details/135678210
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。