생각하는감자

Dataframe (5) 본문

Pandas

Dataframe (5)

토킹감쟈 2023. 3. 18. 17:33

데이터 그룹 만들기

 

먼저, 임의의 데이터프레임을 만들어보자.

import pandas as pd

student = [{'name': 'Serena', 'major': 'Computer Science'},
	    {'name': 'John', 'major': 'Computer Science'},
            {'name': 'Nate', 'major': 'Economics'},
            {'name': 'Jake', 'major': 'Psychology'},
            {'name': 'Arial', 'major': 'Physics'},
            {'name': 'James', 'major': 'Psychology'},
            {'name': 'Jane', 'major': 'Economics'}
	]
    
df = pd.Datarame(student, colums = ['name', 'major'])

학과별로 몇 명이 있는지에 관한 정보 등이 알고 싶을 때에 데이터의 그룹을 만들어서 확인하면 되는데, 이때 사용하는 명령어는 group by이다.

group_major = df.groupby('major')

만들어진 group_major에 어떤 그룹들이 생성되었는지 확인하고 싶다면 아래와 같이 간단한 명령문을 통해 확인 가능하다.

group_major.groups

 

중복된 데이터 제거하기

위에서 만든 데이터프레임을 살짝 변형하여 예시로 사용할 데이터프레임을 만들어보자.

import pandas as pd

student = [{'name': 'Serena', 'major': 'Computer Science'},
	    {'name': 'John', 'major': 'Computer Science'},
            {'name': 'Nate', 'major': 'Economics'},
            {'name': 'Jake', 'major': 'Psychology'},
            {'name': 'Arial', 'major': 'Physics'},
            {'name': 'Jake', 'major': 'Psychology'},
            {'name': 'Jane', 'major': 'Economics'}
	]
    
df = pd.Datarame(student, colums = ['name', 'major'])

'Jake'에 해당하는 정보가 두 개로 중복된 데이터 프레임을 생성하였다.

 

중복된 행을 알아보기 위해선 아래와 같은 명령문을 통해 확인할 수 있다.

df.duplicated()

위와 같이 입력한다면 중복된 값이 있는 인덱스에 True 값이 들어가게 된다.

 

중복된 값을 제거하기 위해선

df.drop_duplicates()

위와 같이 입력한다면, 밑에 있는 'Jake'에 해당하는 행이 삭제됨을 알 수 있다.

 

 

'중복되었다'라는 것에 기준을 주고 싶다면

duplicated() 안에 파라미터를 넣어주면 되는데, 만약 이름이 겹치는 것을 중복되었다고 할 것이라면, df.duplicated(['name']) 이라고 하면 된다. 해당 명령문을 실행시키면, 다른 열의 정보가 다르더라도 'name'에 해당하는 정보가 같다면, 중복되었다고 처리된다.

'Pandas' 카테고리의 다른 글

NaN(None) 값 다르게 변경하기  (0) 2023.03.27
Dataframe (4)  (0) 2023.03.17
Dataframe (3)  (0) 2023.03.17
Dataframe(2)  (0) 2023.03.11
Dataframe(1)  (2) 2023.03.10