【发布时间】:2023-03-05 22:48:01
【问题描述】:
我有一本字典,该字典已将 20 多个纬度、经度位置的每月温度数据存储了 10 年。我想遍历这本字典并绘制 20 多个不同的线图。这里我提供了数据的来源(一个 netcdf 文件),在时间上切片了一个十年,然后输出了字典条目值。
data=xr.open_dataset('E:/Riskpulse_HD/Jon climate study/adaptor.mars.internal-1583855532.1432714-8122-5-ace27afd-90c0-4a7d-b9ca-f3d5528c5ea1.nc')
time = data['time']
start_date1 = dt.datetime(1990,1,1)
end_date1 = dt.datetime(1999,12,31)
times1=time.sel(time=slice(start_date1,end_date1))
cities['Shanghai']['1990s']
<xarray.DataArray 't2m' (time: 120)>
array([13.714203 , 13.964508 , 15.832062 , 19.553162 , 21.987793 ,
25.075317 , 26.624298 , 26.381012 , 24.993042 , 23.088745 ,...
现在我尝试设置一个循环来遍历字典中唯一改变城市名称的所有键。
for i in len(cities.keys()):
plt.plot(times1['time'],cities[i]['1990s'])
理想情况下,我会得到与字典中所有城市相对应的 20 多个不同的线图,但我得到了这个错误。
TypeError: 'int' object is not iterable
【问题讨论】:
-
你能不能也展示一个你的时间数据的例子?最好包括完整的堆栈跟踪。
-
请提供完整代码。什么是城市[i]?您如何期望 dict 与整数索引一起使用?为什么不使用
for city in cities? -
请下次最好提供一个最小的例子。
标签: python datetime dictionary matplotlib