用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。