首页 > 解决方案 > 如何允许用户输入年份数字并从该列表中提取平均、最小和最大预期寿命

问题描述

因此,对于我必须做的作业,我必须允许用户输入一年,python 将遍历整个 .csv 文件(我将链接它以防人们更好地提供帮助),找到所有国家在那一年的预期寿命,然后将它们全部加起来并显示平均值、最小值和最大值。我一直在我的电脑上尝试不同的东西,但对于我的生活,我无法弄清楚如何做到这一点,甚至想想都让我头疼。如果有人可以提供帮助,我将非常感激。以下是我到目前为止的代码:

filename = 'Life_expectancy.csv'
rows = []
with open(filename) as le_file: 
    next(le_file) 
    for line in le_file: 
 
        line = line.strip().split(",") 
        rows.append(line)

ages = [row[3] for row in rows]
min_age_idx = ages.index(min(ages))
max_age_idx = ages.index(max(ages))


details = rows[min_age_idx]
detailsElectricBoogaloo = rows[max_age_idx]
print('Name: {}, Code: {}, Year: {}, Life Expectancy: {}'.format(details[0], details[1], details[2], details[3]))
print('Name: {}, Code: {}, Year: {}, Life Expectancy:{}'.format(detailsElectricBoogaloo[0], detailsElectricBoogaloo[1], detailsElectricBoogaloo[2], detailsElectricBoogaloo[3]))

我还发现我无法链接文件,所以我将复制并粘贴部分 csv 数据

Entity,Code,Year,Life expectancy (years)
Afghanistan,AFG,1950,27.638
Afghanistan,AFG,1951,27.878
Afghanistan,AFG,1952,28.361
Afghanistan,AFG,1953,28.852
Afghanistan,AFG,1954,29.35
Afghanistan,AFG,1955,29.854
Albania,ALB,1950,54.191
Albania,ALB,1951,54.399
Albania,ALB,1952,54.875
Albania,ALB,1953,55.468
Albania,ALB,1954,56.18
Albania,ALB,1955,57.007
Algeria,DZA,1950,42.087
Algeria,DZA,1951,42.282
Algeria,DZA,1952,42.677
Algeria,DZA,1953,43.081
Algeria,DZA,1954,43.494
Algeria,DZA,1955,43.916

对于世界上每个公开数据的国家,这个列表都是这样的,从 1950 年到 2019 年,其中一些在 1923 年到 2019 年左右以及那个时间段左右。我什至无法考虑如何开始。

标签: pythonlistfor-loop

解决方案


您可以查看 pandas DataFrame,您可以使用 DataFrame 在 csv 中轻松读取,然后过滤您需要的年份


推荐阅读