用法:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False)
從對象的軸返回項目的隨機樣本。
您可以使用
random_state
來獲得重現性。- n:整數,可選
從軸返回的項目數。不能與
frac
一起使用。如果frac
= 無,則默認 = 1。- frac:浮點數,可選
要返回的軸項目的分數。不能與
n
一起使用。- replace:布爾值,默認為 False
允許或禁止對同一行多次采樣。
- weights:str 或ndarray-like,可選
默認“無”導致相等的概率權重。如果傳遞一個係列,將與索引上的目標對象對齊。采樣對象中未找到的權重索引值將被忽略,采樣對象中未找到權重的索引值將分配為零權重。如果在 DataFrame 上調用,將在軸 = 0 時接受列的名稱。除非權重是一個係列,否則權重必須與被采樣的軸的長度相同。如果權重總和不為 1,則它們將被歸一化為總和為 1。權重列中的缺失值將被視為零。不允許無限值。
- random_state:int,array-like,BitGenerator,np.random.RandomState,np.random.Generator,可選
如果是 int、array-like 或 BitGenerator,則為隨機數生成器的種子。如果 np.random.RandomState 或 np.random.Generator,按給定使用。
- axis:{0 或‘index’,1 或‘columns’,無},默認無
要采樣的軸。接受軸號或名稱。默認是給定數據類型的統計軸(係列和數據幀為 0)。
- ignore_index:布爾值,默認為 False
如果為 True,則生成的索引將標記為 0、1、...、n - 1。
- Series或DataFrame
一個與調用者類型相同的新對象,其中包含從調用者對象中隨機采樣的
n
項。
參數:
返回:
注意:
如果
frac
> 1,則replacement
應設置為True
。例子:
>>> df = pd.DataFrame({'num_legs':[2, 4, 8, 0], ... 'num_wings':[2, 0, 0, 0], ... 'num_specimen_seen':[10, 2, 1, 8]}, ... index=['falcon', 'dog', 'spider', 'fish']) >>> df num_legs num_wings num_specimen_seen falcon 2 2 10 dog 4 0 2 spider 8 0 1 fish 0 0 8
從
Series
df['num_legs']
中提取 3 個隨機元素:請注意,我們使用random_state
來確保示例的可重複性。>>> df['num_legs'].sample(n=3, random_state=1) fish 0 spider 8 falcon 2 Name:num_legs, dtype:int64
DataFrame
的隨機 50% 樣本替換:>>> df.sample(frac=0.5, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8
DataFrame
帶替換的上采樣示例:請注意,replace
參數必須為True
,以便frac
參數 > 1。>>> df.sample(frac=2, replace=True, random_state=1) num_legs num_wings num_specimen_seen dog 4 0 2 fish 0 0 8 falcon 2 2 10 falcon 2 2 10 fish 0 0 8 dog 4 0 2 fish 0 0 8 dog 4 0 2
使用 DataFrame 列作為權重。
num_specimen_seen
列中具有較大值的行更有可能被采樣。>>> df.sample(n=2, weights='num_specimen_seen', random_state=1) num_legs num_wings num_specimen_seen falcon 2 2 10 fish 0 0 8
相關用法
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
- Python pandas.DataFrame.select_dtypes用法及代碼示例
- Python pandas.DataFrame.size用法及代碼示例
- Python pandas.DataFrame.subtract用法及代碼示例
- Python pandas.DataFrame.stack用法及代碼示例
- Python pandas.DataFrame.set_index用法及代碼示例
- Python pandas.DataFrame.sort_index用法及代碼示例
- Python pandas.DataFrame.shape用法及代碼示例
- Python pandas.DataFrame.swaplevel用法及代碼示例
- Python pandas.DataFrame.sub用法及代碼示例
- Python pandas.DataFrame.sort_values用法及代碼示例
- Python pandas.DataFrame.shift用法及代碼示例
- Python pandas.DataFrame.set_flags用法及代碼示例
- Python pandas.DataFrame.sparse.to_dense用法及代碼示例
- Python pandas.DataFrame.squeeze用法及代碼示例
- Python pandas.DataFrame.std用法及代碼示例
- Python pandas.DataFrame.set_axis用法及代碼示例
- Python pandas.DataFrame.sum用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.sample。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。