2017-09-22 111 views
0

我有一個很大的稀疏數據框,我想自動刪除列(列鍵/名稱是動態的,所以原則上我不知道列號和命名)與總行數的一定比例以下的非零元素的數量。按非零值百分比選擇列

謝謝!

+1

示例數據會有幫助 – Dark

回答

0

熊貓有一個dropna函數,它有一個thresh參數。只需將其設置爲您需要保留的非零值的數量即可。因此,

df.dropna(thres=int(len(df)*0.8), axis=1) 

將刪除行數少於80%的列已完成的列。

+0

謝謝,這隻適用於將零轉換爲南 df.replace(to_replace = 0,value = np.nan),然後df.dropna(thres = int(len( df)* 0.8),軸= 1) – user3620915