如果熊猫是一个
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



