2024-04-26 23:45:56 发布
网友
我有数据,我想在其中找到NaN的个数,因此如果它小于某个阈值,我将删除这些列。我看了看,但找不到任何功能。有^{},但对我来说会很慢,因为大多数值都是不同的,我只想要NaN的计数。
NaN
可以从非nan值的count中减去总长度:
count_nan = len(df) - df.count()
你应该根据你的数据来计时。与isnull解相比,小级数的速度提高了3倍。
isnull
您可以使用^{}方法(或者它的别名isnull(),它也与旧的pandas版本<;0.21.0兼容),然后求和来计算NaN值。对于一列:
isnull()
In [1]: s = pd.Series([1,2,3, np.nan, np.nan]) In [4]: s.isna().sum() # or s.isnull().sum() for older pandas versions Out[4]: 2
对于多个列,它也可以工作:
In [5]: df = pd.DataFrame({'a':[1,2,np.nan], 'b':[np.nan,1,np.nan]}) In [6]: df.isna().sum() Out[6]: a 1 b 2 dtype: int64
可以从非nan值的count中减去总长度:
你应该根据你的数据来计时。与
isnull
解相比,小级数的速度提高了3倍。您可以使用^{} 方法(或者它的别名
isnull()
,它也与旧的pandas版本<;0.21.0兼容),然后求和来计算NaN值。对于一列:对于多个列,它也可以工作:
相关问题 更多 >
编程相关推荐