根据大熊猫中多列的条件删除随机N行

时间:2020-02-13 09:38:25

标签: python pandas dataframe

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................

我想要的:

我要删除5个随机行,其中标题列具有值 rom-com ,并且删除随机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.

但同时我无法删除与多列中的值对应的行。

1 个答案:

答案 0 :(得分:2)

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))