【发布时间】:2019-05-08 23:30:44
【问题描述】:
我有一个 pandas 数据框,想删除 90% 的满足条件的数据。
条件很简单。如果“Parameter1”列的值大于阈值,则将其删除。
我的问题是如何删除其中的 90%,而不是连续删除 90% 的值,而是随机的
【问题讨论】:
标签: python pandas dataframe random threshold
我有一个 pandas 数据框,想删除 90% 的满足条件的数据。
条件很简单。如果“Parameter1”列的值大于阈值,则将其删除。
我的问题是如何删除其中的 90%,而不是连续删除 90% 的值,而是随机的
【问题讨论】:
标签: python pandas dataframe random threshold
将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
【讨论】: