【Pandas】pandas Series sample

打印 上一主题 下一主题

主题 834|帖子 834|积分 2502

Pandas2.2 Series

Computations descriptive stats

方法形貌Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有雷同的索引Series.case_when(caselist)用于根据条件列表对 Series 中的元素举行条件判断并返回相应的值Series.drop([labels, axis, index, columns, …])用于从 Series 中删除指定的行或列(对于 Series 来说,通常是删除行)Series.droplevel(level[, axis])用于从多层索引(MultiIndex)的 Series 中删除指定的索引层级Series.drop_duplicates(*[, keep, inplace, …])用于从 Series 中删除重复的值Series.duplicated([keep])用于检测 Series 中的重复值Series.equals(other)用于比力两个 Series 对象是否完全相等的方法Series.first(offset)用于根据日期偏移量(offset)选择 Series 中时间序列数据的初始部门Series.head([n])用于返回 Series 的前 n 个元素Series.idxmax([axis, skipna])用于返回 Series 中最大值的索引Series.idxmin([axis, skipna])用于返回 Series 中最小值的索引Series.isin(values)用于检查 Series 中的每个元素是否存在于给定的值集合 values 中Series.last(offset)用于根据日期偏移量(offset)选择 Series 中时间序列数据的末尾部门Series.reindex([index, axis, method, copy, …])用于重新索引 Series 对象的方法Series.reindex_like(other[, method, copy, …])用于将 Series 对象重新索引以匹配另一个 Series 或 DataFrame 的索引的方法Series.rename([index, axis, copy, inplace, …])用于重定名 Series 对象的索引或轴标签的方法Series.rename_axis([mapper, index, axis, …])用于为 Series 的索引轴(index)或列轴(columns,对于 Series 通常不适用)设置名称Series.reset_index([level, drop, name, …])用于将 Series 的索引重置为默认整数索引的方法Series.sample([n, frac, replace, weights, …])用于从 Series 中随机抽取样本的方法 pandas.Series.sample

pandas.Series.sample 是一个用于从 Series 中随机抽取样本的方法。它允许用户根据指定的数量或比例举行抽样,并提供了多种抽样选项。以下是该方法的参数说明:


  • n: 抽取的样本数量。假如未提供,则必须提供 frac。
  • frac: 抽取的样本占总数据的比例(0 到 1 之间)。假如未提供,则必须提供 n。
  • replace: 是否允许重复抽样,默认为 False(不重复)。
  • weights: 抽样权重,可以是与 Series 长度雷同的数组或索引标签。默认为 None(等概率抽样)。
  • random_state: 随机数生成器种子,确保结果可复现,默认为 None。
  • axis: 指定抽样的轴,默认为 0(行),对于 Series 可忽略。
  • ignore_index: 假如为 True,则重置返回对象的索引,默认为 False。
示例及结果

示例 1:根本用法(按数量抽样)

  1. import pandas as pd
  2. # 创建一个简单的 Series
  3. s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
  4. print("原始 Series:")
  5. print(s)
  6. # 抽取 3 个样本
  7. s_sampled = s.sample(n=3)
  8. print("\n抽取 3 个样本后的 Series:")
  9. print(s_sampled)
复制代码
输出结果

  1. 原始 Series:
  2. a    1
  3. b    2
  4. c    3
  5. d    4
  6. e    5
  7. dtype: int64
  8. 抽取 3 个样本后的 Series:
  9. b    2
  10. a    1
  11. e    5
  12. dtype: int64
复制代码
在这个例子中,我们利用 sample 方法从 Series 中随机抽取了 3 个样本。
示例 2:按比例抽样

  1. # 按 40% 的比例抽样
  2. s_sampled_frac = s.sample(frac=0.4, random_state=1)
  3. print("\n按 40% 比例抽样后的 Series:")
  4. print(s_sampled_frac)
复制代码
输出结果

  1. 按 40% 比例抽样后的 Series:
  2. c    3
  3. b    2
  4. dtype: int64
复制代码
在这个例子中,我们利用 frac=0.4 来按 40% 的比例抽样,并通过设置 random_state=1 确保结果可复现。
示例 3:允许重复抽样

  1. # 允许重复抽样并抽取 5 个样本
  2. s_sampled_replace = s.sample(n=5, replace=True, random_state=1)
  3. print("\n允许重复抽样并抽取 5 个样本后的 Series:")
  4. print(s_sampled_replace)
复制代码
输出结果

  1. 允许重复抽样并抽取 5 个样本后的 Series:
  2. d    4
  3. e    5
  4. a    1
  5. b    2
  6. d    4
  7. dtype: int64
复制代码
在这个例子中,我们通过设置 replace=True 允许重复抽样,并抽取了 5 个样本。
示例 4:利用权重抽样

  1. # 使用权重进行抽样
  2. weights = [0.1, 0.2, 0.3, 0.2, 0.2]
  3. s_sampled_weights = s.sample(n=3, weights=weights, random_state=1)
  4. print("\n使用权重抽样后的 Series:")
  5. print(s_sampled_weights)
复制代码
输出结果

  1. 使用权重抽样后的 Series:
  2. c    3
  3. d    4
  4. a    1
  5. dtype: int64
复制代码
在这个例子中,我们利用 weights 参数指定了每个元素的抽样权重,使得某些元素被抽中的概率更高。
示例 5:重置索引

  1. # 抽样并重置索引
  2. s_sampled_reset_index = s.sample(n=3, ignore_index=True)
  3. print("\n抽样并重置索引后的 Series:")
  4. print(s_sampled_reset_index)
复制代码
输出结果

  1. 抽样并重置索引后的 Series:
  2. 0    4
  3. 1    2
  4. 2    5
  5. dtype: int64
复制代码
在这个例子中,我们通过设置 ignore_index=True 来重置返回对象的索引。
通过这些示例,您可以更好地理解怎样利用 pandas.Series.sample 方法来从 Series 中随机抽取样本。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表