In [0]:
#그룹화 객체
df.groupby('year')
Out[0]:
In [0]:
# 같은 연도 그룹별 기대수명의 평균.
df.groupby('year')['lifeExp'].mean()
Out[0]:
In [0]:
dfg = df.groupby('year')
dfgy = dfg['lifeExp']
dfgy.mean()
Out[0]:
In [0]:
# 연도, 대륙으로 그룹화하고 각 그룹에 기대수명과 gdp의 평균 출력.
df.groupby(['year', 'continent'])[['lifeExp','gdpPercap']].mean().loc[1952].loc["Africa"]
Out[0]:
In [0]:
# 대륙별 국가의 갯수 nunique
df.groupby(['continent'])['country'].nunique()
Out[0]:
In [0]:
gyle = df.groupby(['year'])['lifeExp'].mean()
In [0]:
#Serise에 대해서 바로 플롯함수 호출
gyle.plot(grid = True)
Out[0]:
In [0]:
scientists = df_csv.copy()
In [0]:
scientists.info()
In [0]:
#나이가 평균보다 큰 나이만 출력하시오,
age = scientists['Age']
meanAge = age.mean()
In [0]:
meanAge
Out[0]:
In [0]:
age[ age > meanAge ]
Out[0]:
In [0]:
## 인덱스를 기준으로 오름차순 정렬.
age.sort_index()
Out[0]:
In [0]:
age.sort_index( ascending = False )
Out[0]:
In [0]:
## 값을 기준으로 정렬.
age.sort_values()
age.sort_values(ascending = False)
Out[0]:
In [0]:
#특정 컬럼의 데이터 타입만 궁금할 경우
scientists['Born'].dtypes # 결과 O => 오브젝트
Out[0]:
In [0]:
## 문자로 된 날짜 형식의 데이터는 날짜 타입으로 변경 시켜줘야 한다.
## format = "%Y-%m-%d" 기본 포멧
bd = pd.to_datetime( scientists['Born'] , format = "%Y-%m-%d" )
In [0]:
#파생 변수 몇일간 살았는지 계산
dd = pd.to_datetime( scientists['Died'] , format = "%Y-%m-%d" )
Out[0]:
In [0]:
scientists['age_days'] = dd - bd
In [0]:
scientists
Out[0]:
In [0]:
scientists.columns
Out[0]:
In [0]:
scientists.drop(['Age'], axis = 1)
Out[0]:
In [0]:
import seaborn as sns
In [0]:
# 1~4의 평균, 분산, 상관관계, 회귀선이 모두 같다.
#서로 다른 데이터 셋이 있을때, 단순히 파라미터가 같다는점으로 미루어 비슷한 데이터라고 섯부르게 판단하지 말것.
#시각화의 중요성.
#데이터 셋을 그룹화 기준으로 삼아서 평균, 분산을 조사하고 데이터를 시각화 해 보자.
sns.load_dataset("anscombe")[:10]
Out[0]:
In [0]:
df1 = anscombe[anscombe['dataset']=='I']
df2 = anscombe[anscombe['dataset']=='II']
df3 = anscombe[anscombe['dataset']=='III']
df4 = anscombe[anscombe['dataset']=='IIII']
In [0]:
%matplotlib inline
# show 함수를 쓰지 않고도 결과 확인 가능
import matplotlib.pyplot as plt
#선으로 출력
plt.plot(df1['x'], df1['y'])
Out[0]:
In [0]:
## 선이 아닌 스케터 플롯으로 출력
plt.plot(df1['x'], df1['y'], 'o')
Out[0]:
In [0]:
# figure 객체 생성 => 그림판 , 또는 백지
# add_subplot(2,2,1) : 2행 2열로 나누고 시계방향으로 1,2,3,4가 된다.
fig = plt.figure()
axes1 = fig.add_subplot(2,2,1)
axes2 = fig.add_subplot(2,2,2)
axes3 = fig.add_subplot(2,2,3)
axes4 = fig.add_subplot(2,2,4)
In [0]:
axes1.plot(df1['x'],df1['y'], 'o')
axes2.plot(df2['x'],df2['y'], 'o')
axes3.plot(df3['x'],df3['y'], 'o')
axes4.plot(df4['x'],df4['y'], 'o')
Out[0]:
In [0]:
fig
Out[0]:
In [0]:
axes1.set_title("dataset_1")
axes2.set_title("dataset_2")
axes3.set_title("dataset_3")
axes4.set_title("dataset_4")
fig.suptitle("Anscombe Data")
fig.tight_layout()
fig
Out[0]:
In [0]:
'딥러닝 모델 설계 > Machine Learning' 카테고리의 다른 글
Day 05.Melt_PivotTable (0) | 2019.07.08 |
---|---|
Day 5. Sort_String_Binomial_Distribution (0) | 2019.07.08 |
Day 4. Data Reconstruction (0) | 2019.07.06 |
Day 4. binomializing [ OneHotEncoding ] (0) | 2019.07.06 |
Day 03. Scaler (0) | 2019.07.03 |