2016-06-11 1 views

답변

1

나는 그것을 위해 cut() 기능을 사용 : 나는 감사 답변을 MaxU 그러나이 작업을 수행하는 또 하나의 방법을 찾은

In [663]: labels=[' ','Millennials','Generation X','Baby Boomers','Tradionalists'] 

In [664]: a['category'] = pd.cut(a['age'], bins=[1, 16,46,52,71, 200],labels=labels) 

In [665]: a 
Out[665]: 
    age  category 
0 29 Millennials 
1 65 Baby Boomers 
2 68 Baby Boomers 
3 18 Millennials 
4 29 Millennials 
5 58 Baby Boomers 
6 15 
7 67 Baby Boomers 
8 21 Millennials 
9 17 Millennials 
10 19 Millennials 
11 39 Millennials 
12 64 Baby Boomers 
13 70 Baby Boomers 
14 33 Millennials 
15 27 Millennials 
16 54 Baby Boomers 
17 60 Baby Boomers 
18 23 Millennials 
19 65 Baby Boomers 
20 63 Baby Boomers 
21 36 Millennials 
22 53 Baby Boomers 
23 29 Millennials 
24 66 Baby Boomers 
0

작품도

cps=(cps.assign(Age_grp_T=np.where(cps['age']>=71,"Tradionalists", 
         np.where(np.logical_and(71>cps['age'],cps['age']>=52),"Baby Boomers", 
         np.where(np.logical_and(52>cps['age'],cps['age']>=46),"Generation X", 
         np.where(np.logical_and(46>cps['age'],cps['age']>=16),"Millennials",-99)))) 
      ) 

을 나는 일이 궁금하다 더 효율적입니까?

+0

'timeit'을 사용하여 이것을 비교하십시오 - 그래서 어느 것이 더 효율적인지보실 수 있습니다;) – MaxU

관련 문제