앞서 타이타닉 데이터를 가지고 실습을 하겠습니다.

 

 

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'를 그룹화하여 나이 칼럼을 뽑아 해당 데이터들에 대해 최댓값과 최소값을 뽑아주게 됩니다.

 

+ Recent posts