我想找出我的数据的每一列中NaN的数量。
当前回答
我使用这个循环来计算每一列的缺失值:
# check missing values
import numpy as np, pandas as pd
for col in df:
print(col +': '+ np.str(df[col].isna().sum()))
其他回答
df1.isnull().sum()
这样就可以了。
在我的代码中使用@sushmit提出的解决方案。
同样的一种可能的变体也可以是
colNullCnt = []
for z in range(len(df1.cols)):
colNullCnt.append([df1.cols[z], sum(pd.isnull(trainPd[df1.cols[z]]))])
这样做的好处是,它将返回df中每一列的结果。
另一个尚未被建议的简单选项是,为了只计算NaN,将在形状中添加以返回具有NaN的行数。
df[df['col_name'].isnull()]['col_name'].shape
对于第一部分,我们有多种方法计算NaN。
方法1计数,由于计数将忽略与大小不同的NaN
print(len(df) - df.count())
方法2:isnull / isna chain with sum
print(df.isnull().sum())
#print(df.isna().sum())
方法3 describe / info:注意这将输出' notull '值计数
print(df.describe())
#print(df.info())
方法。
print(np.count_nonzero(np.isnan(df.values),axis=0))
对于问题的第二部分,如果我们想要在thresh中删除列,我们可以尝试dropna
thresh, optional要求多个非na值。
Thresh = n # no null value require, you can also get the by int(x% * len(df))
df = df.dropna(thresh = Thresh, axis = 1)
.sum df.isnull () () 将给出缺失值的列和。
如果你想知道特定列中缺失值的总和,那么以下代码将起作用:
推荐文章
- 在Python中哪个更快:x**。5还是math.sqrt(x)?
- 有哪些好的Python ORM解决方案?
- 如何在f字符串中转义括号?
- Python void返回类型注释
- 如何为python模块的argparse部分编写测试?
- 在python中是否有用于均方根误差(RMSE)的库函数?
- 如何从matplotlib (pyplot。Figure vs matplotlib。figure) (frameon=False matplotlib中有问题)
- django test app error -在创建测试数据库时出现错误:创建数据库的权限被拒绝
- 识别使用pip安装的python包的依赖关系
- 从字符串变量导入模块
- 如何删除Python中的前导空白?
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承