pandas中,DataFrame.sample 的理解:

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)

你可能感兴趣的:(pandas,机器学习,人工智能)