Today I Learned
240124 / 데이터 분석 부트캠프 26일차 (내일배움캠프 Data_1기)
sance
2024. 1. 24. 20:33
♣ 이번주 목표 : 데이터 분석 입문 - 통계학 기초, 데이터 전처리 및 시각화
- SQL 코드카타 51-60번 풀이 복습 (Oracle)
- '데이터 전처리&시각화' 강의 수강
오늘은 데이터 전처리와 시각화를 직접 해보는 시간을 가졌다.
지금까지 학습을 진행하면서 한 번쯤은 접해본 것들이라서 크게 어려운 부분은 없었다.
통계학을 듣고나서 들으니까 오히려 쉬운 것 같기도 하다 ㅎ
내일은 데이터 분석 개인과제를 진행할 예정이다.
SQL
- CONCAT 함수
- MySQL : 3개 이상의 문자열도 하나의 함수로 연결 가능
- Oracle : 3개 이상의 문자열을 연결하려면 함수 중복해야 하므로 || 연산자 사용
ex) CONCAT(CONCAT(column1, column2), column3)
- LEFT, RIGHT 함수
- Oracle 제공 X
[강의] 데이터 전처리&시각화
- 데이터 선택하기
.iloc | .loc |
정수 기반 인덱스 사용 | 레이블 기반 인덱스 사용 |
df.iloc[1:3] #인덱스 1부터 2까지 선택 | df.iloc['a':'c'] #인덱스 a부터 c까지 선택 |
- 특정 조건을 만족하는 데이터 선택
- isin() 메소드 : Series나 DataFrame의 값들 중에서 특정 값이나 리스트 안에 포함된 값들을 찾아내는 메소드
#단일 값 포함 여부 확인
result = df['B'].isin(['banana'])
#여러 값 포함 여부 확인
result = df['A'].isin([2, 4])
#여러 열에 대해 조건을 확인하여 필터링
result = df.isin({'A': [1, 3], 'B': ['apple', 'orange']})
- 데이터 병합
- concat()
- 데이터프레임을 위아래 혹은 좌우로 연결
- axis : 연결하고자 하는 축(방향) 설정, 기본값은 0으로 위아래 연결, 1로 설정하면 좌우 연결
- ex) result_vertical = pd.concat([df1, df2], axis=0) #위아래로 연결
result_horizontal = pd.concat([df1, df2], axis=1) #좌우로 연결
- merge()
- SQL의 JOIN과 유사한 방식으로 데이터 병합
- 주로 두 개 이상의 데이터프레임에서 공통된 열이나 인덱스를 기준으로 병합할 때 활용
- how : 병합 방법을 나타내는 매개변수로 inner, outer, left, right 등의 옵션 존재
- on : 병합 기준이 되는 열 이름(혹은 열 이름의 리스트) 지정
- ex) merged_df = pd.merge(left_df, right_df, on='key', how='inner')
- concat()