我正在读取csv文件中的值列表到另一个列表,然后计算新列表中这些值的平均值。唯一的问题是该列表中的某些值只是字符串" na"没有收集数据的地方。如果我想跳过这些" na"值,就像编写if语句一样简单:
if soil_anom=='na':
pass
else:
SA.append(float(soil_anom))
然后我有一个numpy函数来快速计算SA的平均值。
答案 0 :(得分:2)
取决于你如何阅读csv然后是;就这么简单。
答案 1 :(得分:0)
您可以使用csv.DictReader()。一旦读完,你可以遍历dict以用0替换na。
csvReader = csv.DictReader(csvfile)
for row in csvReader:
...
答案 2 :(得分:0)
您可以尝试使用numpy.genfromtxt
来阅读该文件。它可能会自动将"na"
转换为NaN
,如果没有,您可以使用可选的 missing_values 和 filling_values 参数调整其行为。
然后,您可以使用numpy.nanmean
计算结果数组的平均值,忽略所有NaN
。