반응형
Python 기초
자료형
- 숫자 - 정수(int) / 실수(float)
- 문자열(str) : mystr = "I'm blogging" ('', """, ''' 사용 가능)
- 문자열에 덧셈, 곱셈 가능
- mystr[0:5] ⇢ I'm b : 0 ≤ a < 5 의 값을 불러옴 (마지막 인덱스는 포함 X)
- mystr[5:] ⇢ blogging : 시작과 끝 생략 가능
- str format : "Hello, { }".format(mystr)
- f-string : f'Hello, {mystr}'
- 문자열함수 : strip, join, split
- 리스트 : mylist = [1, 2, 3, [a, b]]
- .append( ) : 리스트에 항목 추가
- .sort( ) : 오름차순 정렬, reverse=True 옵션 지정시 내림차순
- 튜플 : mytuple = (a, b, c) < 리스트와 비슷하지만 값을 바꿀 수 없다
- 딕셔너리 : key-value, mydict = {'name':naver, 'age':40}
제어문
- if 조건문
- 연산자 : a>=b, a==b, a
- for 반복문
- for i in range(10): ~
- range(stop) / range(start, stop, [step])
- len("Blog") = 4
- while 반복문
- 반복문 내 변수 하나 더 필요 > 복잡도 증가로 for 보다 사용 빈도 낮음
- try, except : 에러처리
- list/dictionary comprehension
- list/dictionary 내에 for문 사용
- ls = [i * 4 for i in range(1,5) if i % 2 == 0]
함수
- 입력값을 받아서 명령을 수행하고 결과를 반환
- def 함수명(변수1, 변수2, ...): 수행문1 수행문2 ... return 결과 (인풋과 리턴 생략 가능)
- lambda 변수1, 변수2, ...: 결괏값
- score = {'민준':80, '서현':75, '도아':40, '기찬':90, '재영':60}
- sorted_score = sorted(score.items(), key=lambda x:x[1], reverse=True)
- socre 리스트 내 값들(x)의 두번째 인자를 기준으로 정렬, 내림차순
라이브러리
- random : randint, choice, sample, shuffle, ...
- datetime : now, date, time, year, month, ...
- math : abs, round, floor, sqrt, ...
- sys : version, ...
- os : getcwd, mkdir, ...
Pandas
DataFrame, Series
- Series : 1차원 배열과 유사한 데이터 구조로, 단일 열로 이루어짐
- 데이터와 인덱스로 구성
- data = pd.Series([25, 30, 35], index=['Alice', 'Bob', 'Charlie'])
- DataFrame : 2차원 테이블 형식의 데이터 구조, 여러 열과 행으로 구성
- 여러 시리즈가 결합된 형태
- data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Gender': ['F', 'M', 'M'] }
- df = pd.DataFrame(data)
데이터 불러오기
-
- pd.read_csv ( 파일경로, index_col, usecols )
- df.to_csv ( 파일경로 ) : 파일 저장
- read_excel, read_html 로 엑셀과 웹html파일 불러올 수 있음
데이터 추출
- loc / iloc
- loc : 레이블값을 사용하여 조회 - df.loc[행조건, 열조건]
- iloc : 위치인덱스를 이용하여 조회
- df.sort_values( 기준 컬럼, ascending=False/True ) : 오름차순이 기본, False로 지정시 내림차순
- df [조건식] / df.query('조건식') : 특정 조건을 충족하는 데이터 추출
index/row/column 변환
- index
- df.rename( ) : 부분 인덱스 변경
- df.index = [ ] : 전체 인덱스 변경
- df.set_index(' ') : 해당 칼럼으로 인덱스 설정
- df.reset_index(drop=True) : 기존 인덱스 삭제하고 싶을 때 drop=True 옵션 사용
- row
- pd.concat ( [ data1, data2 ] )
- df.drop ( 인덱스명, axis=0 ) : 행 제거
- df4.drop_duplicates ( ) : 중복된 행 제거
- column
- 열 추가 : 데이터명[추가할 컬럼명] = 추가할 값
- df.drop ( 인덱스명, axis=1 ) : 열 제거
- 데이터명.rename({열이름:바꿀이름, 열이름:바꿀이름, ...}, axis=1)
- 열 이름 전체 변경 시: 데이터명.columns = 열이름 리스트
결측값 처리
- 확인 : df.isna( ) : 결측값 True로 표시됨 / notna( ) 는 반대
- 제거 : 데이터명.dropna(axis=0, how='any', subset=None)
- axis {0:index, 1:columns}
- how {'any':하나라도 존재하면 제거, 'all':행 모든 값이 결측치면 제거}
- subset: 행/열의 이름 지정
- 대치 : df.fillna(method='') / df[컬럼명].fillna()
- method='ffill' : 바로 위의 값과 동일하게 변경
- method='bfill' : 바로 아래의 값과 동일하게 변경
타입 변환
- df.dtypes : 데이터 타입 확인
- df.select_dtypes('int') : 정수 타입의 열만 불러오기
- df.astype( ) : 타입 변환
데이터 집계
- groupby('기준 칼럼').집계함수
- crosstab : 범주형 데이터 비교분석할 때 유용
- pd.crosstab(index=행, columns=열, margins=True/False, normalize=True/False)
#데이터분석 #데이터분석부트캠프 #패스트캠퍼스 #패스트캠퍼스부트캠프 #패스트캠퍼스데이터분석부트캠프
반응형
'[패스트 캠퍼스] 데이터 분석 부트캠프 16기 > 학습일지' 카테고리의 다른 글
[패스트캠퍼스] 데이터분석 부트캠프 (8주 차) - MySQL (1) | 2024.10.11 |
---|---|
[패스트캠퍼스] 데이터분석 부트캠프 (4주 차) (2) | 2024.10.07 |
[패스트캠퍼스] 데이터분석 부트캠프 (2주 차) (0) | 2024.08.30 |
[패스트캠퍼스] 데이터분석 부트캠프 (1주 차) (0) | 2024.08.23 |
[패스트캠퍼스] 데이터분석 부트캠프 16기 OT 후기 (0) | 2024.08.20 |