Вместо этого вы можете получить суммы чисел населения в нужных возрастных диапазонах и затем выполнить расчет коэффициента.
В Python вы можете использовать функцию map
дляпреобразовать значения в итерируемом виде в целые и превратить их в list
.
Получив список, вы можете использовать для него функцию sum
или частьоб этом.
Итак, я придумал:
f = open("population.csv","r")
header = f.readline()
header = header.rstrip("\r\n")
while True:
line = f.readline()
if line == "":
break
line = line.rstrip("\r\n")
field = line.split(sep=",")
popData = list(map(int, field[1:]))
youngPop = sum(popData[:4])
oldPop = sum(popData[4:])
ratio = youngPop / (youngPop + oldPop)
print(field[0].ljust(12), ratio)
f.close()
Какие выходы (просто показывает часть здесь):
Hokkaido 0.1544532130777903
Aomori 0.1564945226917058
Iwate 0.16108452950558214
Miyagi 0.16831683168316833
Akita 0.14357429718875503
Yamagata 0.16515426497277677
Fukushima 0.16586921850079744
(я надеваюЯ действительно не знаю Python, так что может быть какой-то «лучший» или более традиционный способ.)