이번 포스팅에서는 데이터프레임을 그룹화하는 방법에 대해 알아보도록 하겠습니다. import pandas as pd 1. GroupBy 객체 데이터프레임의 특정 컬럼을 기준으로 데이터셋을 그룹화해야 하는 경우가 있습니다. 이때 groupby 메서드를 사용해 데이터프레임을 그룹화할 수 있습니다. 그룹화의 결과로 DataFrameGroupBy 객체가 생성되는데 간단하게 GroupBy 객체라고 부르겠습니다. GroupBy 객체는 데이터프레임 행을 버킷으로 그룹화하여 관리하는 저장소 컨테이너라고 볼 수 있습니다. 특정 컬럼이 공유하는 값을 기반으로 데이터프레임의 행을 버킷으로 구성한다고도 볼 수 있습니다. 쉽게 얘기해서 특정 컬럼의 값들을 기준으로 생겨난 각 그룹이 GroupBy 객체를 구성한다는 것입니다. 참..
판다스 예제 데이터를 다루면서 YYYY-MM-DD 형태의 datetime 자료를 요일로 바꿔야했습니다. 문제를 해결하기 위해서 datetime 라이브러리의 strftime 메서드를 사용했습니다. import pandas as pd import datetime as dt 우선 예제로 사용하는 Series 객체의 데이터 타입을 확인했습니다. print(battles.dtype) print(battles.head()) 다행히 Series의 타입이 datetime64[ns] 였기 때문에 strftime 메서드를 사용할 수 있었습니다. 참고로 '%A'는 축약형이 아닌 전체 요일명 문자열로 변환한다는 의미입니다. def get_day(date): return date.strftime('%A') apply 메서드를..
지난 포스팅에 이어 이번에는 정수/불리언 배열을 활용한 인덱싱과 슬라이싱에 대해 알아보도록 하겠습니다. import numpy as np 1. 정수 인덱싱 배열 💡 인덱싱을 위해 사용하는 정수 인덱싱 배열의 shape을 주목해야 합니다. 1-1. 1차원 인덱싱 배열 정수 인덱싱 배열을 사용하면 특정 인덱스에 위치한 값들을 가져올 수 있습니다. 중복 인덱스는 물론 불규칙적으로 값들을 가져올 수 있다는 특징이 있습니다. arr = np.arange(10) print(arr) # [0 1 2 3 4 5 6 7 8 9] indices1 = np.array([0, 3, 4]) indices2 = np.array([0, 0, 5, 5]) print(arr[indices1]) # [0 3 4] print(arr[in..