簡體   English   中英

從pandas數據幀中刪除大量數據

[英]Deleting large amount of data from pandas dataframe

我有非常不平衡的數據(有二進制標簽,零是96%的數據,而只有4%)來平衡它我決定刪除標簽為零的一些行。 但是,通過迭代整個數據幀程序,使用pandas.dataframe.drop()方法刪除行將花費幾個小時。 刪除數據的最有效時間是什么?

我已經嘗試對數據進行排序,然后只清除帶有標簽0的一堆行,但不幸的是我不能改變數據的順序。

我已經選擇了帶有標簽0的行的索引,並從該列表中選擇了隨機索引來刪除,如下所示: drops = random.sample(zero_indexes, X) (其中X是我要刪除的行數),但我不知道如何在可接受的時間內刪除具有此類索引的行 任何幫助,將不勝感激

獲取您想要查找的索引列表

bad_labels = df[df['label'] == 0].sample(500).index

然后將df過濾到不在那里的行

df1 = df[~df.index.isin(bad_labels)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM