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 中随机抽取样本的方法 |
pandasSeriessample_26">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:基本用法(按数量抽样)
python">import pandas as pd
# 创建一个简单的 Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print("原始 Series:")
print(s)
# 抽取 3 个样本
s_sampled = s.sample(n=3)
print("\n抽取 3 个样本后的 Series:")
print(s_sampled)
输出结果
原始 Series:
a 1
b 2
c 3
d 4
e 5
dtype: int64
抽取 3 个样本后的 Series:
b 2
a 1
e 5
dtype: int64
在这个例子中,我们使用 sample
方法从 Series
中随机抽取了 3 个样本。
示例 2:按比例抽样
python"># 按 40% 的比例抽样
s_sampled_frac = s.sample(frac=0.4, random_state=1)
print("\n按 40% 比例抽样后的 Series:")
print(s_sampled_frac)
输出结果
按 40% 比例抽样后的 Series:
c 3
b 2
dtype: int64
在这个例子中,我们使用 frac=0.4
来按 40% 的比例抽样,并通过设置 random_state=1
确保结果可复现。
示例 3:允许重复抽样
python"># 允许重复抽样并抽取 5 个样本
s_sampled_replace = s.sample(n=5, replace=True, random_state=1)
print("\n允许重复抽样并抽取 5 个样本后的 Series:")
print(s_sampled_replace)
输出结果
允许重复抽样并抽取 5 个样本后的 Series:
d 4
e 5
a 1
b 2
d 4
dtype: int64
在这个例子中,我们通过设置 replace=True
允许重复抽样,并抽取了 5 个样本。
示例 4:使用权重抽样
python"># 使用权重进行抽样
weights = [0.1, 0.2, 0.3, 0.2, 0.2]
s_sampled_weights = s.sample(n=3, weights=weights, random_state=1)
print("\n使用权重抽样后的 Series:")
print(s_sampled_weights)
输出结果
使用权重抽样后的 Series:
c 3
d 4
a 1
dtype: int64
在这个例子中,我们使用 weights
参数指定了每个元素的抽样权重,使得某些元素被抽中的概率更高。
示例 5:重置索引
python"># 抽样并重置索引
s_sampled_reset_index = s.sample(n=3, ignore_index=True)
print("\n抽样并重置索引后的 Series:")
print(s_sampled_reset_index)
输出结果
抽样并重置索引后的 Series:
0 4
1 2
2 5
dtype: int64
在这个例子中,我们通过设置 ignore_index=True
来重置返回对象的索引。
通过这些示例,您可以更好地理解如何使用 pandas.Series.sample
方法来从 Series
中随机抽取样本。