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

从pandas DataFrame删除包含空单元格的行

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

从pandas DataFrame删除包含空单元格的行

如果熊猫是一个

np.nan
对象,它将识别为空值,该值将
NaN
在Dataframe中打印。您缺少的值可能是空字符串,Pandas无法将其识别为null。要解决此问题,您可以使用将空字符串(或空单元格中的任何东西)转换为
np.nan
对象
replace()
,然后调用
dropna()
Dataframe删除具有空租户的行。

为了说明这一点,我们创建了一个Dataframe,该Dataframe在

Tenants
列中包含一些随机值和一些空字符串:

>>> import pandas as pd>>> import numpy as np>>> >>> df = pd.Dataframe(np.random.randn(10, 2), columns=list('AB'))>>> df['Tenant'] = np.random.choice(['Babar', 'Rataxes', ''], 10)>>> print df          A         B   Tenant0 -0.588412 -1.179306    Babar1 -0.008562  0.725239         2  0.282146  0.421721  Rataxes3  0.627611 -0.661126    Babar4  0.805304 -0.834214         5 -0.514568  1.890647    Babar6 -1.188436  0.294792  Rataxes7  1.471766 -0.267807    Babar8 -1.730745  1.358165  Rataxes9  0.066946  0.375640

现在,我们

Tenants
np.nan
对象替换列中的任何空字符串,如下所示:

>>> df['Tenant'].replace('', np.nan, inplace=True)>>> print df          A         B   Tenant0 -0.588412 -1.179306    Babar1 -0.008562  0.725239      NaN2  0.282146  0.421721  Rataxes3  0.627611 -0.661126    Babar4  0.805304 -0.834214      NaN5 -0.514568  1.890647    Babar6 -1.188436  0.294792  Rataxes7  1.471766 -0.267807    Babar8 -1.730745  1.358165  Rataxes9  0.066946  0.375640      NaN

现在我们可以删除空值:

>>> df.dropna(subset=['Tenant'], inplace=True)>>> print df          A         B   Tenant0 -0.588412 -1.179306    Babar2  0.282146  0.421721  Rataxes3  0.627611 -0.661126    Babar5 -0.514568  1.890647    Babar6 -1.188436  0.294792  Rataxes7  1.471766 -0.267807    Babar8 -1.730745  1.358165  Rataxes


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

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

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