Aivle school DX track 3기/python
[2주차 데이터 다루기] 데이터 프레임 탐색 , 조회
frmin04
2023. 2. 10. 21:32
데이터 정렬해서 보기
데이터 프레임 자료(=df) 있다고 할때,
- sort_values() :특정 열을 기준으로 정렬 , ascending을 옵션으로 설정해 오름차순/내림차순 설정가능
#복합열('a' , 'b')정렬 , ascending = True(오름차순)
df.sort_values(by = ['a' , 'b'], ascending = True )
#복합열 정렬, a열 내림차순으로 정렬하되 같은 값이면 b열 오름차순으로 정렬
df.sort_values(by = ['a', 'b'], ascending = [False, True])
기본 집계(고유값, 합, 평균, 최댓값, 최솟값 등 확인)
- df['a'].unique() : a열에 어떤 value들이 있는지 배열 형태로 보여줌
- df['a'].value_counts(): a열에 value와 value 갯수가 시리즈 형태로 출력
- df['a'].mode(): a열에서 가장 빈도가 높은 value 출력
# a,b 합계 조회
df[['a', 'b']].sum()
#a,b 평균 조회
df[['a', 'b']].mean()
데이터 조회 (특정열, 열 범위 , 조건)
df.loc[ row, column ] 이 기본 형태
- df[ column ] : 행 부분 입력이 필요가 없을때(특정 열 출력)
- df.loc[ row ] : 열 부분 입력 x , 특정 조건을 가진 값 모두 출력
# d열 값이 6.0보다 큰 행 조회
#df.loc[df['d'] > 6.0, :]
df.loc[df['d'] > 6.0]
#여러 조건 연결 (d > 6.0 and day == mon)
#df.loc[ (df['d'] > 6.0) & (df['day'] == 'mon'), : ]
df.loc[ (df['d'] > 6.0) & (df['day'] == 'mon') ]
여러조건을 편리하게!: isin(), between()
- isin([값1, 값2 , ... ])
- between( 값1, 값2 ) : 값1 ~값까지 범위안의 데이터만 조회
# day가 mon 또는 thur 또는 sat일때
#df.loc[( df['day'] == 'mon') | ( df['day'] == 'thur') |( df['day'] == 'sat')] 와 동일
df.loc[df['day'].isin(['mon', 'thur', 'sat' ])]
# 범위 지정 ( 1 <= b <= 3)
df.loc[ df['b'].between(1,3) ]
☆ 조건 조회시 열 정보가 생략되면 loc를 생략할 수 있지만 생략하지 않도록 하자!!( 특정 열 조회랑 헷갈릴 수 있음)