用法:
DataFrameGroupBy.sample(n=None, frac=None, replace=False, weights=None, random_state=None)
从每个组中返回随机项目样本。
您可以使用
random_state
来获得重现性。- n:整数,可选
每个组要返回的项目数。不能与
frac
一起使用,并且不能大于最小组,除非replace
为 True。如果frac
为无,则默认值为 1。- frac:浮点数,可选
要退回的项目的一部分。不能与
n
一起使用。- replace:布尔值,默认为 False
允许或禁止对同一行多次采样。
- weights:list-like,可选
默认无导致相等的概率加权。如果传递了list-like,则值必须与底层 DataFrame 或 Series 对象具有相同的长度,并且将在每个组内标准化后用作采样概率。值必须是非负的,每组中至少有一个正元素。
- random_state:int,array-like,BitGenerator,np.random.RandomState,np.random.Generator,可选
如果是 int、array-like 或 BitGenerator,则为随机数生成器的种子。如果 np.random.RandomState 或 np.random.Generator,按给定使用。
- Series或DataFrame
一个与调用者类型相同的新对象,其中包含从调用者对象的每个组中随机抽样的项目。
参数:
返回:
例子:
>>> df = pd.DataFrame( ... {"a":["red"] * 2 + ["blue"] * 2 + ["black"] * 2, "b":range(6)} ... ) >>> df a b 0 red 0 1 red 1 2 blue 2 3 blue 3 4 black 4 5 black 5
为 a 列中的每个不同值随机选择一行。
random_state
参数可用于保证重现性:>>> df.groupby("a").sample(n=1, random_state=1) a b 4 black 4 2 blue 2 1 red 1
设置
frac
以采样固定比例而不是计数:>>> df.groupby("a")["b"].sample(frac=0.5, random_state=2) 5 5 2 2 0 0 Name:b, dtype:int64
通过设置权重控制组内的样本概率:
>>> df.groupby("a").sample( ... n=1, ... weights=[1, 1, 1, 0, 0, 1], ... random_state=1, ... ) a b 5 black 5 2 blue 2 0 red 0
相关用法
- Python pandas.core.groupby.DataFrameGroupBy.hist用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.resample用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.quantile用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.cumcount用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.fillna用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.filter用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.aggregate用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.nunique用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.describe用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.value_counts用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.transform用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.cov用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.corr用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.diff用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.take用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.idxmax用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.rank用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.boxplot用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.idxmin用法及代码示例
- Python pandas.core.groupby.GroupBy.nth用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.core.groupby.DataFrameGroupBy.sample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。