亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使 DataFrame 相對于特定列平衡

使 DataFrame 相對于特定列平衡

神不在的星期二 2021-07-09 18:01:23
我在 Python 中有一個 DataFrame,如下所示。  Text  Label0  abc      01  def      12  ghi      13   .       .4   .       .5   .       .有 100 行標簽為“1”,只有 50 行標簽為“0”。我想要一個平衡的集合,以便有標簽為“0”的 50 行和標簽為“1”的 50 行。哪些帶有標簽“1”的行被丟棄并不重要。有沒有什么簡潔的方法可以用 Python 寫這個?
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

使用groupby和head:


df = df.groupby('Label').head(50)

這將從 Label 分別為 0 和 1 的每個行子集中取前 50 個。在標簽為 1 的行的情況下,前 50 個被選中,其余的被丟棄。


要選擇最后 50 個,請替換head(50)為tail(50)。


要隨機選擇 50 行,請使用apply+ sample:


df = (df.groupby('Label', as_index=False)

        .apply(lambda x: x.sample(n=50))

        .reset_index(drop=True))

請注意,如果任何組的項目少于 N (=50) 個,這將不起作用。


查看完整回答
反對 回復 2021-07-27
  • 2 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號