栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何根据数据帧的NAN百分比删除列?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何根据数据帧的NAN百分比删除列?

您可以使用

isnull
mean
用于treshold,然后删除列
booleanindexing
loc
(因为删除列),还需要反转的条件-这样
<.8
的手段删除所有列
>=0.8

df = df.loc[:, df.isnull().mean() < .8]

样品:

np.random.seed(100)df = pd.Dataframe(np.random.random((100,5)), columns=list('ABCDE'))df.loc[:80, 'A'] = np.nandf.loc[:5, 'C'] = np.nandf.loc[20:, 'D'] = np.nanprint (df.isnull().mean())A    0.81B    0.00C    0.06D    0.80E    0.00dtype: float64df = df.loc[:, df.isnull().mean() < .8]print (df.head())         B   C         E0  0.278369 NaN  0.0047191  0.670749 NaN  0.5750932  0.209202 NaN  0.2196973  0.811683 NaN  0.2740744  0.940030 NaN  0.175410

如果要通过最小值

dropna
与参数一起很好地删除列,
thresh
并且
axis=1
要删除列:

np.random.seed(1997)df = pd.Dataframe(np.random.choice([np.nan,1], p=(0.8,0.2),size=(10,10)))print (df)     0   1    2    3    4    5    6    7   8    90  NaN NaN  NaN  1.0  1.0  NaN  NaN  NaN NaN  NaN1  1.0 NaN  1.0  NaN  NaN  NaN  NaN  NaN NaN  NaN2  NaN NaN  NaN  NaN  NaN  1.0  1.0  NaN NaN  NaN3  NaN NaN  NaN  NaN  1.0  NaN  NaN  NaN NaN  NaN4  NaN NaN  NaN  NaN  NaN  1.0  NaN  NaN NaN  1.05  NaN NaN  NaN  1.0  1.0  NaN  NaN  1.0 NaN  1.06  NaN NaN  NaN  NaN  NaN  NaN  NaN  NaN NaN  NaN7  NaN NaN  NaN  NaN  NaN  NaN  NaN  NaN NaN  NaN8  NaN NaN  NaN  NaN  NaN  NaN  NaN  1.0 NaN  NaN9  1.0 NaN  NaN  NaN  1.0  NaN  NaN  1.0 NaN  NaNdf1 = df.dropna(thresh=2, axis=1)print (df1)     0    3    4    5    7    90  NaN  1.0  1.0  NaN  NaN  NaN1  1.0  NaN  NaN  NaN  NaN  NaN2  NaN  NaN  NaN  1.0  NaN  NaN3  NaN  NaN  1.0  NaN  NaN  NaN4  NaN  NaN  NaN  1.0  NaN  1.05  NaN  1.0  1.0  NaN  1.0  1.06  NaN  NaN  NaN  NaN  NaN  NaN7  NaN  NaN  NaN  NaN  NaN  NaN8  NaN  NaN  NaN  NaN  1.0  NaN9  1.0  NaN  1.0  NaN  1.0  NaN

编辑:对于非布尔数据

列中的NaN条目总数必须少于条目总数的80%:

 df = df.loc[:, df.isnull().sum() < 0.8*df.shape[0]]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610466.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号