我有一个熊猫数据框,想删除90%满足条件的数据。
条件非常简单。如果“ Parameter1”列的值大于阈值,则将其删除。
我的问题是如何删除其中的90%,而不是连续删除90%的值,而是随机删除
答案 0 :(得分:1)
将boolean indexing
与sample
一起使用:
df = pd.DataFrame({
'A': [5] * 20 + [1] * 2,
'B': list(range(22))
})
df = df.drop(df[df['A'] > 4].sample(frac=.9).index)
print (df)
A B
11 5 11
15 5 15
20 1 20
21 1 21