我有一個df患者的資料框subject_id,包括他們gender和他們的age.
我想n從這個資料框中抽取一個隨機大小的樣本,具有以下特征:
- 50% 男性,50% 女性
- 平均年齡 40 歲
知道我如何使用 python 來實作嗎?謝謝!
uj5u.com熱心網友回復:
我認為您想要的比DataFrame.sample現成的要復雜一些。可以像這樣(分別)生成滿足每個條件的隨機樣本:
- 只過濾女性,隨機抽樣
n/2,然后對男性做同樣的事情,然后將它們合并 - 過濾 40 歲以下,隨機采樣
n/2,然后對 40 歲以上執行相同操作,然后合并它們。(但請注意,這并不能保證中位數恰好為 40。)
如果您想將這兩個約束條件結合起來,您可能需要采樣 4 次 - 40 歲以下的女性、40 歲以下的男性等。但這是總體思路。
采樣代碼如下所示:
df.loc[df.age < 40, 'subject_id'].sample(n/2)
df.loc[df.gender == 'F', 'subject_id'].sample(n/2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370813.html
下一篇:如何有兩個直方圖但不堆疊?
