一、需求分析
批量处理多个csv文件,对每个文件的每一行求平均值。但遗憾的是,若文件中包含NaN值,则无法进行加减运算,更别说平均值。
因此,下文对比了几种处理该情况的函数结果
二、使用三种方法对比
如下图处理结果所示——由左到右使用的函数依次是:
①numpy 的 np.nanmean()
a = data.iloc[j,::]#j行所有数据
#转为list方便计算均值
b = a.tolist()
#print(b)
#list中的数值转为int型
c = [float(w) for w in b]
#做均值
d=np.nanmean(c)
②pandas 的 fillna()
#将NaN替换为0,不受空值影响
data.fillna(str(0), inplace = True)#注意替换的数据类型要一致
③numpy 的 .mean()
a = data.iloc[j,::]#j行所有数据
#转为list方便计算均值
b = a.tolist()
#print(b)
#list中的数值转为int型
c = [float(w) for w in b]
#做均值
d=mean(c)
三种处理结果导出csv对比:

736

被折叠的 条评论
为什么被折叠?



