每个月,取其前六个月的平均值, 以及之后的六个月。这个数据可以追溯到大约2000年 年份。如何计算此数据的平均值?使用python。
(0.5 *列表中的第一个值+ 0.5 *列表中的最后一个值+所有的总和 列表中的其他值)/ 12.
对于此作业,请省略接近开头和结尾的案例 在两边都没有完整6个月数据的文件 他们。试图按排序(StartMonth_dict)排序月份[6:-6] 平均值= [StartMonth + 5个月前进+ 5个月后退回] / 12
我已经完成了每月的平均月度平均值,我很难在前后的6个月内完成第二部分。
data = open ('dailysunspots.txt', 'r');
F = open(data)
datalist = []
for Filelines in data:
Splitline=Filelines.split( )
Year=Splitline[0][0:4]
Month=Splitline [0][4:6]
sunspotdata=Splitline [2]
Splitline=list(Splitline)
tup=(Year, Month, sunspotdata)
if sunspotdata == '999':
pass
else:
datalist.append(tup)
#print(Year, Month, sunspotdata)
Monthly= {}
StartYear='1818'
StartMonth='01'
i=0
cal=0
Total_Avg=0
for item in datalist:
if item[0]==StartYear and item[1]==StartMonth:
i+=1
cal+=float(item[2])
Total_Avg=cal/i
else:
Total_Avg=cal/i
cal+=float(item[2])
Monthly[StartYear+StartMonth]=Total_Avg
i+=1
StartYear=item[0]
StartMonth=item[1]
print(StartYear, StartMonth, Total_Avg)