Python 根据表中多列的条件删除随机N行
df 我想要什么:Python 根据表中多列的条件删除随机N行,python,pandas,dataframe,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
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................
df1 = df.drop(df[df['Title'].str.contains('rom-com')].sample(5).index & /
[df['Title'].str.contains('murder')].sample(6).index)
我想删除列标题有值的列的5个随机行,并删除列标题有值的列的6个随机行。
代码:
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................
df1 = df.drop(df[df['Title'].str.contains('rom-com')].sample(5).index & /
[df['Title'].str.contains('murder')].sample(6).index)
错误:
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................
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'
但两者结合在一起,我无法删除与多列中的值对应的行。可以使用:
如果有多个列呢?假设我还想删除列值为thriller的2个随机实例。同样的方法会奏效吗?@ShailajaGuptaKapoor-Yop,
df1=df.drop(df[df['Title'].str.contains('rom-com'))].sample(5.index.union(df[df['Title'].str.contains('surgery'))].sample(2.index))