11_Numpy含有缺失值ndarray数组的求和,平均值的计算方法

11_Numpy含有缺失值ndarray数组的求和,平均值的计算方法

通常情况下,ndarrya数组中会含有一个或多个缺失值(nan),这种情况下使用函数sum()来求和的话,会直接返回nan。这个时候可以使用函数nansum(),可以对缺失值(nan)以外的其他值进行求和。

机器学习时,对于缺失值的处理方法,在以后的文章中再进行介绍。

举例:使用函数np.genfromtxt()读取一个含有缺失值的csv文件。缺失值的部分将直接显示为nan。

import numpy as np

arr = np.genfromtxt('./data/sample_nan.csv', delimiter=',')
print(arr)
# [[ 11.  12.  nan  14.]
#  [ 21.  nan  nan  24.]
#  [ 31.  32.  33.  34.]]

使用nansum()进行求和

使用函数sun()的话,将直接返回nan。

print(arr.sum())
# nan

print(np.sum(arr))
# nan

使用函数nansum()的话,可以对缺失值(nan)以外的其他值进行求和。

print(np.nansum(arr))
# 212.0

也可以通过参数axis,来指定行或列的计算。

  • axis的使用可以参考以下链接:
    03_Numpy的数组各行,各列的求和,平均值,最大值,最小值,最大最小值差,标准差,方差等的计算
print(np.nansum(arr, axis=0))
# [ 63.  44.  33.  72.]

print(np.nansum(arr, axis=1))
# [  37.   45.  130.]

平均值,最大值,最小值等的计算

平均值,最大值,最小值,标准差,方差等的计算,可以使用函数np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd(), np.nanvar()。

print(np.nanmean(arr))
# 23.5555555556

print(np.nanmax(arr))
# 34.0

print(np.nanmin(arr))
# 11.0

print(np.nanstd(arr))
# 8.90831211237

print(np.nanvar(arr))
# 79.3580246914
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值