Создавать array, повторив линии таблицы панд с условиями

Я создаю таблицу с пандами, где первые две колонны созданы с numpy arrays:

age = np.random.randint(20,85,size=400)

possible_genders = ['male','female']
gender =  [np.random.choice(possible_genders) for i in range(400)]

таблица, если он:

df = pd.DataFrame({'age': age, 'gender': gender})

Тогда я хочу создать третью колонну, которая была бы другим array, стоимость которого была в зависимости от varoles age и gender следующей формы:

for index, row in df.iterrows():
if gender == 'male' and age > 45:
    print(1)
elif gender == 'male' and age < 45:
    print(2)
elif gender == 'female' and age > 55:
    print(3)
else:
    print(4)

На данный момент только я поместил prints для testear, если он отличает каждый случай хорошо в связи с первоначальной таблицей, но output, который производят prints, - колонна 400 cuatros:

introducir la descripción de la imagen aquí

Из чего он проистекает? Как я могу получать эту дискриминацию эффективной формы?

0
задан 21.04.2019, 00:26
1 ответ

Как abulafia decГ - в hay, что определять row.gender и row.age для потом с нею funciГіn choiceChol() распределять стоимость холестерина в определенном ранге segГєn gГ©nero и возраст:

for index, row in df.iterrows():
    if row.gender == 'male' and row.age > 45:
        choiceChol(159, 200)  
    elif row.gender == 'male' and row.age < 45:
        choiceChol(75, 150)
    elif row.gender == 'female' and row.age > 55:
        choiceChol(159, 200)
    else:
        choiceChol(75, 150)
1
ответ дан 02.12.2019, 09:33