我正在尝试计算熊猫系列中的NaN元素(数据类型类'numpy.float64'),以了解其中有多少个 哪种数据类型为“ pandas.core.series.Series”类
这是为了统计熊猫系列中的空值
import pandas as pd
oc=pd.read_csv(csv_file)
oc.count("NaN")
我对oc,count("NaN")
的预期输出为7,但显示为'Level NaN must be same as name (None)'
答案 0 :(得分:1)
count
的参数不是您想要计算的(实际上是轴名称或索引)。
您要查找df.isna().values.sum()
(以计算整个DataFrame中的NaN),或len(df) - df['column'].count()
(以计算特定列中的NaN)。
答案 1 :(得分:0)
如果您的Series.dtype
是float64
,则可以使用以下任意一种方式:
oc.isin([np.nan]).sum()
oc.isna().sum()
如果您的Series
是混合数据类型,则可以使用以下内容:
oc.isin([np.nan, 'NaN']).sum()
答案 2 :(得分:0)
oc.size
:返回包含NaN
的数据帧的元素总数
oc.count().sum()
:返回数据帧的元素总数,不包括NaN
因此,另一种计算数据帧中NaN
数量的方法是对它们进行减法运算:
NaN_count = oc.size - oc.count().sum()
答案 3 :(得分:0)
如果您的数据框看起来像这样;
aa = df.DataFrame(np.array([[1,2,nan],[3,nan,5],[8,7,6],[nan,nan,0]]), columns=['a','b','c'])
a b c
0 1.0 2.0 NaN
1 3.0 NaN 5.0
2 8.0 7.0 6.0
3 NaN NaN 0.0
要以cols计算“ nan”,您可以尝试
aa.isnull().sum()
a 1
b 2
c 1
对于nan的总数
aa.isnull().values.sum()
4
答案 4 :(得分:0)
只是为了娱乐,您可以选择其中一个
df.isnull().sum().sum()
或
len(df)*len(df.columns) - len(df.stack())