#!/usr/bin/env python
# coding: utf-8

# 통계적 사고 (2판) 연습문제 ([thinkstats2.com](thinkstats2.com), [think-stat.xwmooc.org](http://think-stat.xwmooc.org))<br>
# Allen Downey / 이광춘(xwMOOC)

# In[ ]:


import nsfg
df = nsfg.ReadFemPreg()
df


# <tt>birthord</tt>에 대한 빈도수를 출력하고 [codebook](http://www.icpsr.umich.edu/nsfg6/Controller?displayPage=labelDetails&fileCode=PREG&section=A&subSec=8016&srtLabel=611933) 게시된 결과값과 비교하시오.

# In[ ]:


df.birthord.value_counts().sort_index()


# <tt>prglngth</tt>에 대한 빈도수를 출력하고 [codebook](http://www.icpsr.umich.edu/nsfg6/Controller?displayPage=labelDetails&fileCode=PREG&section=A&subSec=8016&srtLabel=611931) 게시된 결과값과 비교하시오.

# In[ ]:





# <tt>agepreg</tt>에 대한 빈도수를 출력하고 [codebook](http://www.icpsr.umich.edu/nsfg6/Controller?displayPage=labelDetails&fileCode=PREG&section=A&subSec=8016&srtLabel=611935)에 게시된 결과값과 비교하시오.
# 
# 이 데이터를 살펴보고, 응답자에 대한 존경과 맥락을 고려해서 데이터에 접근하는에 필요한 의무에 관해서 저자가 언급한 논평을 기억하라.

# In[ ]:





# 평균 출생체중(birthweight)을 계산하시오.

# In[ ]:


df.totalwgt_lb.mean()


# 킬로그램으로 출생체중 정보를 담는 <tt>totalwgt_kg</tt>로 불리는 새로운 칼럼을 생성하라. 평균도 계산하시오. 새로운 칼럼을 생성할 때, 점표기법이 아닌 딕셔너리 구문을 사용하는 것을 기억하라.

# In[ ]:





# 코드북(codebook)을 살펴보고 책에서 언급된 것이 아닌 본인이 관심있는 변수를 찾아내라. 그리고 그 변수의 빈도수, 평균, 다른 통계량을 계산하시오.

# In[ ]:





# 부울 시리즈(boolean Series)를 생성하시오.

# In[ ]:


df.outcome == 1


# 부울 시리즈를 사용해서 정상출산 임신에 대한 레코드를 선택하시오.

# In[ ]:


live = df[df.outcome == 1]
len(live)


# <tt>birthwgt_lb</tt> 변수에 0 에서 5 파운드(0과 5도 모두 포함) 사이 정상출산 빈도수를 계산하시오. 결과는 1125 가 되어야만 된다.

# In[ ]:


len(live[(live.birthwgt_lb >= 0) & (live.birthwgt_lb <= 5)])


# <tt>birthwgt_lb</tt> 변수에 9 에서 95 파운드(9과 95도 모두 포함) 사이 정상출산 빈도수를 계산하시오. 결과는 798 가 되어야만 된다.

# In[ ]:





# <tt>birthord</tt> 변수를 사용해서, 첫번째 아이와 첫째가 아닌 아이에 대한 레코드를 선택하시오. 첫번째 아이와 첫째가 아닌 아이는 얼마나 되는가?

# In[ ]:


firsts = df[df.birthord==1]
others = df[df.birthord>1]
len(firsts), len(others)


# 첫번째 아이와 첫째가 아닌 아이에 대한 평균 체중을 계산하시오.

# In[ ]:


firsts.totalwgt_lb.mean()


# In[ ]:


others.totalwgt_lb.mean()


# 변수 <tt>prglngth</tt>으로 첫째 아이와 첫째가 아닌 아이에 대한 평균임신기간을 계산하시오. 시간으로 표시된, 평균에 차이를 계산하시오.

# In[ ]: