簡體   English   中英

根據 Pandas 中多列的條件刪除隨機 N 行

[英]Remove random N number of rows based on conditions on multiple columns in pandas

df

    Text column  Title     Numbers column
0          abc   rom-com               1
1          xyz    comedy               2
2           hi   rom-com               4
3          jkl    murder               5
4          abc  thriller               2
and so on................

我想要的是:

我想刪除標題列值為rom-com 的5 個隨機行,並刪除標題列值為'murder' 的隨機列6 行

代碼:

df1 = df.drop(df[df['Title'].str.contains('rom-com')].sample(5).index & /
[df['Title'].str.contains('murder')].sample(6).index)

錯誤:

AttributeError: 'list' object has no attribute 'sample'

上面的代碼適用於一個標題,但不能同時使用。

df1 = df.drop(df[df['Title'].str.contains('rom-com')].sample(5).index \
#this alone works for both murder and rom-com separately.

但是兩者一起我無法刪除與多列中的值相對應的行。

Index.union是可能的:

df1 = df.drop(df[df['Title'].str.contains('rom-com')].sample(5).index.union(df[df['Title'].str.contains('murder')].sample(6).index))

暫無
暫無

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

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