[ 데이터 그룹 하기 ]
파이썬에서 엑셀처럼 데이터를 사용할 때
나는 데이터프래임(DataFrame) 타입으로 데이터를 만들어서 주물럭 거린다.
그러다 보면 데이터를 그룹끼리 묶어야 하는 순간이 온다.
SQL을 사용할때 사용해본 Group by와 같은 기능이 필요하다.
먼저 예제로 데이터를 생성해 보겠다.
df = pd.DataFrame(np.array([['사자', "1반", '어흥','010-1234-1234'],
['사자', "2반", '야옹','010-1234-4321'],
['늑대', "1반", '컹컹','010-4331-1234'],
['하마', "2반", '므허','010-1234-3567']]),
columns=['종류', '반', '별명', "연락처"])
왼쪽에 있는 데이터프레임으로 생성이 된다.
이 데이터프래임을 오른쪽 데이터프래임처럼 그룹 하고 싶다.
이러한 방법은 NLP(Natural Language Processing : 자연어 처리)를 할 때 꼭 필요하기도 하다.
이때 사용하면 되는 함수가 groupby이고
마지막에 옵션으로 넣을 함수가 agg이다.
데이터프레임.groupby("그룹할 컬럼명", as_index=False)
"as_index=False" 옵션으로 인덱스를 무시하고 합친다.
".agg(','.join)"는 사용자 정의 함수를 사용하게 해 준다.
그래서 그룹화된 내역이 join기능을 통해 쉼표(,) 구분자로 연결된다.
df_group = df.groupby('종류', as_index=False).agg(','.join)
df_group.head()
'동굴 속 정보' 카테고리의 다른 글
최고의 여행용 쌍안경 부쉬넬 레전드 울트라 HD (0) | 2020.04.25 |
---|---|
데이터 전처리의 핵심은 apply 이다. (0) | 2020.04.22 |
동백꽃과 수선화 그리고 남쪽 마을 (0) | 2020.04.19 |
임차인이 월세를 내지 않는다. (0) | 2020.04.18 |
요실금과 그날, 걱정없는 논샘팬티 (0) | 2020.04.17 |