我有一个netCDF文件,其中包含1948年以来全球的月平均气温。对于作业,我必须选择任何一个提供的数据点,提取其12月、1月、2月和3月的平均温度值,然后显示它。在
我已经将数据解包,并将其收集到字典列表中,如下所示:
12月:
decemberMeans = [
{'year': 1948, 'temp': 271.24}, {'year': 1949, 'temp': 271.28},
{'year': 1950, 'temp': 268.52}, {'year': 1951, 'temp': 269.63},
...,
{'year': 2015, 'temp': 277.23}, {'year': 2016, 'temp': 271.25}
]
与1月、2月和3月对应的数据结构相同。在
我的下一步就是把它画出来。我必须为每一组数据在同一个图上画一条线,我使用列表理解来完成。现在我的绘图代码如下:
^{pr2}$它的情节很好,但是我可以看到我所有的列表理解都是多余的。有没有一种方法可以在一次foll-swoop中解压字典值,这样我就不必为每个集合编写data['...'] for data in list
两次?在
另外,在我写这篇文章的时候,我开始意识到我可以编写一个函数来完成绘图(这可能比写这篇文章花的时间还要少),但我还是很想知道。提前感谢大家!在
是的
pandas
绝对是一条路!请看一下示例here(如果您可以以该形式获取数据,第二个示例应该正是您想要的)。不过,一般来说,你可以做一些事情来避免你遇到的那种重复。在为常用代码编写函数是一个很好的开始。听起来你已经想出了这样的办法:
然后将每个序列绘制到活动图形的代码变成:
^{pr2}$但这仍然不理想-如果您更改了
myplot
的名称并必须更改每一行怎么办?您可以再次缩短内容,因为Python允许您创建任何内容的列表:您可以使用
pandas
来完成此操作:相关问题 更多 >
编程相关推荐