我是Python和numpy
的新手,但必须从文本文件中提取信息。该文件有超过17,000行的信息,我希望得到有史以来最湿润的一年"对于我的项目。第一列[0]
具有从1962年到2011年列出的年份,并且具有该年中每个月[1]
的数据。
这是文本文件的示例:
1962 01 134.6 12.5 22
1962 02 77.2 11.2 17
1962 03 73.6 13.4 13
1962 04 68.6 20.6 17
1962 05 80.7 22.7 16
1962 06 50.2 28.3 11
1962 07 92.2 18.5 15
1962 08 99.4 25.8 19
1962 09 122.4 31.1 19
1962 10 42.6 15.1 12
1962 11 105.5 23.7 14
1962 12 86.4 23.6 18
其他列的总降雨量[2]
一天中降雨量最多[3]
,雨天数量[4]
。
我想找到有史以来最潮湿的一年,但不知道从哪里开始!
答案 0 :(得分:0)
17 000行?在12个月的50年中,我发现600行包含您对数据文件的描述,但无论如何,假设数据位于名为“data.txt”的文件中,并且每行都以换行符结束(在您的示例中未显示) ,文件以此信息开头,这是一个可能的解决方案
wettest_year = 0
max_rainfall = 0
with open('data.txt') as flux:
for current_year in range(1962, 2011 + 1):
current_year_rainfall = 0
for current_month in range(12):
row = flux.readline().split()
month_rainfall = float(row[2])
current_year_rainfall += month_rainfall
if current_year_rainfall > max_rainfall:
wettest_year = current_year
max_rainfall = current_year_rainfall
wettest_year持有答案
ps:如果这是一个17 000行的文件,你需要在进入for循环之前寻找数据开始的位置
ps2:假设“最潮湿的一年”是总降雨量最多的一年