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'에 해당하는 정보가 같다면, 중복되었다고 처리된다.