2024-03-29 11:42:39 发布
网友
假设我有以下数据。在
df = pd.DataFrame({'group':list('aaaabbbb'), 'val':[1,3,3,np.NaN,5,6,6,2], 'id':[1,np.NaN,np.NaN,np.NaN,np.NaN,3,np.NaN,3]}) df
我想删除NaN值百分比超过50%的列。我可以手动执行以下操作,然后使用drop。在
但是,我想知道是否有一个优雅而快速的代码来实现这一点?在
无法使用dropna的thresh参数。在
thresh
df.dropna(axis=1, thresh=int(0.5*len(df)))
df.dropna(thresh=len(df)//2,axis=1) Out[57]: group val 0 a 1.0 1 a 3.0 2 a 3.0 3 a NaN 4 b 5.0 5 b 6.0 6 b 6.0 7 b 2.0
使用mean和^{}删除列:
mean
print (df.isnull().mean() * 100) group 0.0 id 62.5 val 12.5 dtype: float64
无法使用dropna的
thresh
参数。在使用} 删除列:
mean
和^{^{pr2}$
相关问题 更多 >
编程相关推荐