Существует CSV-файл с 463916 строками.Первый столбец - это гендерный столбец.1 мужчина, 2 женщина.Второй столбец - возраст.От 0 до 85. Третий столбец - уровень образования, но нам не нужно это поле в этой домашней работе.
Я хочу получить такой результат.
мужской женский
до 10 0,5 0,5
с10 (10 с) 0,4 0,6
с20 (20 с) 0,5 0,5
с30 (20 с) 0,5 0,5
с40 (20 с)0,5 0,5
с50 (20-е годы) 0,5 0,5
свыше 60 0,6 0,4
Я нашел популяцию для каждой возрастной группы, но в функции получения пола была ошибкасоотношение.И я не знаю, как я могу справиться с более чем 60!Но я не могу использовать панд, потому что я не научился этому ... Я новичок в Python.Пожалуйста, помогите мне !!
данные ниже
array([[ 1, 0, 1],
[ 1, 0, 1],
[ 1, 0, 1],
...,
[ 2, 85, 6],
[ 2, 85, 7],
[ 2, 85, 7]], dtype=int64)
import numpy as np
data = np.loadtxt("population.csv", delimiter = ",", dtype = 'int64')
under10=s10=s20=s30=s40=s50=over60=0
def sex(age, total):
male=female=0
while(data[:,1]<age):
if(data[:,0]==1):
male+=1
else:
break
female=total-male
print(male/total,female/total)
for i in data[:,1]:
if (i<10):
under10 += 1
elif (i<20):
s10 +=1
elif (i<30):
s20 +=1
elif (i<40):
s30 +=1
elif (i<50):
s40 +=1
elif (i<60):
s50 +=1
else:
over60 +=1
sex(10, under10)
sex(20, s10)
sex(30, s20)
sex(40, s30)
sex(50, s40)
sex(60, s50)
sex(?)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-51-53c9486669b3> in <module>
31 else:
32 over60 +=1
---> 33 sex(10, under10)
<ipython-input-51-53c9486669b3> in sex(age, total)
6 def sex(age, total):
7 male=female=0
----> 8 while(data[:,1]<age):
9 if(data[:,0]==1):
10 male+=1
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()