[英]Delete Pandas Dataframe columns if there are zeros in more than K rows
[英]Drop columns with more than 70% zeros
我想知道是否有一條命令刪除具有超過70%零或X%零的列。 喜歡:
df = df.loc[:, df.isnull().mean() < .7]
對於NaN。
謝謝 !
只需將df.isnull().mean()
更改為(df==0).mean()
:
df = df.loc[:, (df==0).mean() < .7]
這是一個演示:
df
Out:
0 1 2 3 4
0 1 1 1 1 0
1 1 0 0 0 1
2 0 1 1 0 0
3 1 0 0 1 0
4 1 1 1 1 1
5 1 0 0 0 0
6 0 1 0 0 0
7 0 1 1 0 0
8 1 0 0 1 0
9 0 0 0 1 0
(df==0).mean()
Out:
0 0.4
1 0.5
2 0.6
3 0.5
4 0.8
dtype: float64
df.loc[:, (df==0).mean() < .7]
Out:
0 1 2 3
0 1 1 1 1
1 1 0 0 0
2 0 1 1 0
3 1 0 0 1
4 1 1 1 1
5 1 0 0 0
6 0 1 0 0
7 0 1 1 0
8 1 0 0 1
9 0 0 0 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.