Seongho Jang
Pandas 전처리 연습 모음 본문
Groupby 후 상위 n개 행 가져오기
이 용도의 nlargest 와 nsmallest API를 제공하고 있다.
하지만, 가장 빠른 방법은 데이터프레임을 원하는 값으로 정렬한 후에 groupby 하고, head 로 가져오는 것이다.
id, name, total 로 구성된 데이터프레임이 있고, 각 name의 값을 total 로 정렬해 상위 3개만 가져오고 싶다면 아래와 같이 처리하는 것이 빠르다.
df.sort_values(by='total', ascending=False).groupby('name').head(3)
DataFrame.groupby 문서에 의하면,
sort : boolean, default True
Sort group keys. Get better performance by turning this off.
Note this does not influence the order of observations within each group.
groupby preserves the order of rows within each group.
그룹 내 행의 순서가 유지되기 때문에 안전하다.
그룹 자체의 정렬이 필요하지 않다면, sort 옵션을 끄면 좀 더 빠르다.
df.sort_values(by='total', ascending=False).groupby('name', sort=False).head(3)
Pandas: 그룹 내에서 상위 n개 가져오기
발생일: 2018.10.19 키워드: pands, 판다스, groupby, nlargest, nsmallest, sort_values, get n largest value in group 문제: 그룹 내에서 값이 큰 순으로 상위 n개만 가져오려고 한다. 해결책: 이 용도의 nlargest 와 nsmallest
ohgyun.com
특정 열에 결측치가 있으면 제거
- 특정 컬럼의 행 결측값 제거
df['Column Name'].dropna(axis=0) # axis=0 행 기준 [default]
- 특정 컬럼의 열 결측값 제거
df['Column Name'].dropna(axis=1) # axis=1 열 기준
특정 행 또는 열을 대상으로 결측값 있으면 제거
- 결측값 들어있는 행 제거 df = df.dropna(axis=0) # axis=0 행 기준 [default] - 결측값 들어있는 열 제거 df = df.dropna(axis=1) # axis=1 열 기준 - 특정 컬럼의 행 결측값 제거 df['Column Name'].dropna(axis=0) # axis=0 행
94ung.tistory.com
'Data Science Lv.2' 카테고리의 다른 글
Datamanim 전처리 연습(중) (0) | 2023.01.28 |
---|---|
전체 내용 정리 (0) | 2023.01.22 |
Ch.14 다중 회귀분석 (0) | 2023.01.14 |
Ch.9 - 10. 데이터 전처리(3) : 정렬, 변환, 사용자 정의함수 (0) | 2023.01.08 |
Ch.8 데이터 전처리(2): 데이터 병합 (0) | 2023.01.08 |