簡體   English   中英

刪除具有超過70%零的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM