跳过" na"从Python中读取csv时的值

时间:2015-06-17 15:34:39

标签: python csv if-statement

我正在读取csv文件中的值列表到另一个列表,然后计算新列表中这些值的平均值。唯一的问题是该列表中的某些值只是字符串" na"没有收集数据的地方。如果我想跳过这些" na"值,就像编写if语句一样简单:

    if soil_anom=='na':
        pass
    else:
        SA.append(float(soil_anom))

然后我有一个numpy函数来快速计算SA的平均值。

3 个答案:

答案 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