在python3中使用DictReader时,如何找到字典中行的最小值和最大值

2024-09-28 22:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用一组天气数据,并试图从数据中找出最小值和最大值。我已经把这个文件读入了一个有序的字典,可以输出我所有的数字,但是我很难输出正确的最小值和最大值。以下是其中一个数据示例:

    OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW    AIRPORT, TN US'), ('DATE', '2002-07-20'), ('PRCP', 0.0), ('SNOW', None), ('SNWD', None), ('TAVG', 79.0), ('TMAX', 89.0), ('TMIN', 69.0)])
    OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW AIRPORT, TN US'), ('DATE', '2002-07-21'), ('PRCP', 0.12), ('SNOW', None), ('SNWD', None), ('TAVG', 82.0), ('TMAX', 92.0), ('TMIN', 71.0)])
    OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW AIRPORT, TN US'), ('DATE', '2002-07-22'), ('PRCP', 0.0), ('SNOW', None), ('SNWD', None), ('TAVG', 80.0), ('TMAX', 90.0), ('TMIN', 70.0)])

有一些丢失的值,我已经用none数据类型替换了它们,我不想在计算中包括none或zero值。在

以下是我目前掌握的代码:

^{pr2}$

任何帮助或指导将不胜感激。我尝试过的所有方法都不能有效地解析数据。我对这门语言还不熟悉,就听写器的使用而言,似乎没有太多。在

提前谢谢!在


Tags: 数据namenonedatetnordereddictusstation
1条回答
网友
1楼 · 发布于 2024-09-28 22:19:35

您可以将min/max与一个遍历字典的生成器表达式一起使用。在

下面是一个例子:

from collections import OrderedDict

d1 = OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW    AIRPORT, TN US'), ('DATE', '2002-07-20'), ('PRCP', 0.0), ('SNOW', None), ('SNWD', None), ('TAVG', 79.0), ('TMAX', 89.0), ('TMIN', 69.0)])
d2 = OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW AIRPORT, TN US'), ('DATE', '2002-07-21'), ('PRCP', 0.12), ('SNOW', None), ('SNWD', None), ('TAVG', 82.0), ('TMAX', 92.0), ('TMIN', 71.0)])
d3 = OrderedDict([('STATION', 'USW00003894'), ('NAME', 'CLARKSVILLE OUTLAW AIRPORT, TN US'), ('DATE', '2002-07-22'), ('PRCP', 0.0), ('SNOW', None), ('SNWD', None), ('TAVG', 80.0), ('TMAX', 90.0), ('TMIN', 70.0)])

res = max(d['PRCP'] for d in (d1, d2, d3))

print(res)

# 0.12

相关问题 更多 >