앞서 타이타닉 데이터를 가지고 실습을 하겠습니다.
1. DataFrame과 Series의 정렬 : sort_values()
- order by와 유사하며, 함수의 형태는 sort_values(by = , ascending = , inplace = )
- by 는 정렬할 칼럼, ascending 은 기본값 True로 오름차순, False 는 내림차순, inplace는 정렬을 원본 데이터프레임에 유지할 것인가를 정하며, 기본값 False는 원본 데이터프레임 유지, True는 원본 데이터프레임 변경입니다.
titanic_sorted = titanic_df.sort_values(by=['Name'])
- 타이타닉 데이터를 'Name'이라는 칼럼을 기준으로 오름차순으로 정렬하였습니다.
- 내림차순으로 하고 싶으면 ascending = False로 지정해주면 됩니다.
2. Aggregation 함수
- DataFrame에서 minn(), max(), sum(), count()와 같은 aggregation 함수를 이용할 수 있습니다. 호출할 경우 모든 칼럼이 aggregation을 적용한다.
titanic_df.count()
- 각 컬럼에 대한 count() 함수가 적용되어 총 수로 출력이 됩니다.
- 원하는 컬럼에 대해서만 출력하고 싶으면 titanic_df[['Age','Fare']].mean() 을 통하여 사용가능합니다.
* 여기서 하나의 칼럼을 사용할 경우 ['칼럼명'] 이지만, 두개 이상의 칼럼인 경우 [['칼럼명','칼럼명']]으로 사용해야 합니다.
3. groupby()
- 데이터 프레임에서 사용 시 입력 파라미터 by에 칼럼을 입력하면 대상 칼럼으로 groupby가 됩니다.
titanic_df.groupby(by='Pclass')
- 'Pclass'를 그룹화하여 결과가 출력되는 것을 확인할 수 있습니다.
titanic_df.groupby('Pclass')[['PassengerId','Survived']].count()
- 'Pclass'를 그룹화하여 'PassengerId','Survived' 두 칼럼만 뽑아 count() 함수를 적용하게 됩니다.
titanic_df.groupby('Pclass')['Age'].agg([max, min]))
- 여러 개의 Aggregation을 사용할 경우 .agg 함수를 사용합니다. 'Pclass'를 그룹화하여 나이 칼럼을 뽑아 해당 데이터들에 대해 최댓값과 최소값을 뽑아주게 됩니다.
'머신러닝 in Python' 카테고리의 다른 글
판다스(Pandas) 시각화 (0) | 2019.08.08 |
---|---|
판다스(Pandas) 결손 데이터 처리 및 apply (0) | 2019.08.08 |
판다스(pandas) 인덱스 (0) | 2019.08.08 |
판다스(Pandas) 데이터프레임 활용 (0) | 2019.08.08 |
판다스(Pandas) 기초 + 타이타닉 데이터 (0) | 2019.08.08 |