我正在使用下面的代码表示一列中是否有任何缺失值(NaN)或零(0.00)。
# Specifying the NaNs
num_nan_totals = df.loc[ (pd.isna(df['Totals'])) , 'Totals' ].shape[0]
# Specifying the zeros
num_zero_totals = df["Totals"] == 0.00
# For output
print(f"There are {num_nan_totals} NaNs in the totals column")
print(f"There are {num_zero_totals} zeros in the totals column")
我的输出:
There are 0 NaNs in the totals column
There are 433 False
434 False
435 False
436 False
# etc. etc. etc.
目视检查数据集后,至少应有一个“ 0.00”实例,这就是我所知道的错误方式。我怀疑问题与零定义有关,有人可以提供任何提示吗?谢谢!
答案 0 :(得分:2)
构建蒙版正步入正确轨道。假设只需要计数,则可以使用pandas中的sum
方法。此处的信息:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sum.html
对于掩码,False为0,True为1,因此将所有值相加是获取所有真实值计数的快速方法。
# Count of nan
num_nan_totals = df['Totals'].isna().sum()
# Count of 0
num_zero_totals = (df['Totals'] == 0.00).sum()