2014-11-08 1 views
0

저는 파이썬에서 초보자입니다. 함수를 작성하는 법을 배우는 것입니다. 나는 가중치와 성별의 목록을 가지고 있으며이를 성별 기준에 따라 두 개의 새로운 목록을 만들기 위해 나누려고합니다. 루프를 사용하여, 나는 지금까지 성공했습니다기준 (성별)에 따라 목록 나누기

df = pd.read_csv('brainweight.csv') 
w = list(df['Weight']) 
s = list(df['Sex']) 

female_weight = [] 
male_weight = [] 

for sex, weight in zip (s, w): 
    if sex == 'f': 
     female_weight.append(weight) 
    else: 
     male_weight.append(weight) 
내가 함수에 루프이를 수정하는 방법을

어디 변수 = 분/F (성)?

답변

0
df = pd.read_csv('brainweight.csv') 
w = list(df['Weight']) 
s = list(df['Sex']) 
def list_by_gender(): 
    females = [] 
    males = [] 
    for sex, weight in zip (s, w): 
     if sex == 'f': 
      females.append(weight) 
     else: 
      males.append(weight) 
    return males,females 

male_list,female_list=list_by_gender() 
+0

정말 고마워요! 마지막 줄을 설명해 주시겠습니까? 나는 male_list와 female_list가 미리 정의되지 않은 것을 발견했습니다. 나는 당신의 함수와 매우 비슷한 것을 썼지 만, 파이썬은 정확한 값을주지 못했다 ... –

+0

파이썬에서는 ** C **와 같은 변수 선언을 ** 필요로하지 않으며 많은 것을 초기화 할 수있다. 스크립트에서'a, b, c = 1,2,3'와 같이 한 줄에 변수를 넣을 수 있습니다. 마지막 줄에서 함수에서 직접 반환 된'male_list'와'female_list' 값을 할당하려고합니다. 'a, b = 2,3'와 비슷합니다. –

+0

@NackSrismith, 도움이된다면 답변을 수락하십시오. –