일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- R
- python3
- 실습
- Kaggle
- Oracel
- sklearn
- pandas
- 코딩테스트
- 데이터 분석
- 머신러닝
- seaborn
- 파이썬
- 프로그래머스
- 오라클
- level 2
- 빅데이터 분석 기사
- Numpy
- Python
- 알고리즘
- SQL
- 튜닝
- 실기
- 빅분기
- oracle
- level 1
- matplotlib
- 카카오
- Today
- Total
목록데이터 분석/Python (72)
라일락 꽃이 피는 날
원핫인코딩 (One-hot-encoding) 원핫인코딩은 한 개의 요소는 True 나머지 요소는 False로 만들어주는 기법이다. blood_map = { 'A': 0, 'B': 1, 'AB': 2, 'O': 3, } 만약 df['혈액형_code']를 머신러닝 알고리즘에 그대로 넣어 데이터를 예측하라고 지시한다면, 컴퓨터는 '혈액형_code' 안에서 값들 간의 관계를 스스로 형성하게 된다. 즉, B형은 1, AB형은 2라는 값을 가지고 있는데, 컴퓨터는 'B형 + AB형 = O형이다'라고 관계를 잘못 맺을 수 있게 된다. 원핫인코딩은 별도로 4개의 column을 형성해주고, 1개의 column에는 True 나머지는 모두 False를 넣어 줌으로써 'A, B, AB, O형의 관계는 독립적이다.'를 표현해주..
데이터 타입별 column 선택 (select_dtypes) 1. 문자열이 있는 column만 선택 2. 문자열이 없는 column만 선택 select_dtypes 을 이용하여 선택한 데이터 타입별 컬럼들을 변수에 담아서 활용할 수 있다. num_cols = df.select_dtypes(exclude='object').columns obj_cols = df.select_dtypes(include='object').columns
df = pd.DataFrame({'통계': [60, 70, 80, 85, 75], '미술': [50, 55, 80, 100, 95], '체육': [70, 65, 50, 95, 100] }) 1. Column 간 연산 (+, -, *, /, %) 2. Column과 숫자간 연산 (+, -, *, /, %) 3. 복합 연산 4. mean(), sum()을 axis 기준으로 연산 5. NaN 값이 존재하는 경우 연산 df = pd.DataFrame({'통계': [60, 70, np.nan , 85, 75], '미술': [50, np.nan , 80, 100, 95], '체육': [70, 65, 50, np.nan , 100] }) 6. DataFrame 간 연산 df1 = pd.DataFrame({'통계':..
apply apply는 Series나 DataFrame에 좀 더 구체적인 로직을 적용하고 싶은 경우 활용한다. apply를 적용하기 위해서는 함수가 먼저 정의되어야 한다. apply는 정의한 로직 함수를 인자로 넘겨준다. 남자/여자 문자열 데이터로 구성된 '성별' column을 1/0으로 바꾸기 def male_or_female(x): if x == '남자': return 1 elif x == '여자': return 0 cm당 브랜드 평판지수 구하기 (브랜드평판지수/ 키) def cm_to_brand(df): value = df['브랜드평판지수'] / df['키'] return value lambda 함수의 적용 lambda 함수는 한 줄로 작성하는 간단 함수식으로, return을 별도로 명시하지 않는다..
Series의 Type ① 숫자형(Numerical Type) 데이터 - 연속성을 띄는 숫자로 이루어진 데이터 ex) Age, Fare ② 범주형(Categorical Type) 데이터 - 연속적이지 않은 값을 갖는 데이터 ex) Name, Sex - 숫자형 타입이라 할지라도 개념적으로 범주형으로 처리해야할 경우도 있다. ex) Pclass object 일반 문자열 타입 float 실수 int 정수 category 카테고리 datetime 시간 1. type 변환하기 (astype) astype 메소드를 사용하여 type을 변환할 수 있다. 2. datetime으로 변환하기 (to_datetime) to_datetime 메소드를 사용하여 datetime 타입으로 변환할 수 있다. datetime 타입으로..
DataFrame 합치기 (concat) row나 column 기준으로 단순하게 이어 붙이기 1. Row 기준으로 합치기 pd.concat에 합칠 데이터 프레임을 list로 합쳐준다. row를 기준으로 합치고자 할 때는 sort=False 옵션을 주어 순서를 유지한다. df_concat.reset_index() : 인덱스 초기화 df_concat.reset_index(drop=True) : 새로 index column이 생성되지 않고 인덱스 초기화 2. column 기준으로 합치기 column을 기준으로 합치고자 할 때는 axis=1 옵션 부여 DataFrame 병합하기 (merge) 특정 고유한 키(unique id) 값을 기준으로 병합하기 pd.merge(left, right, on='기준컬럼', h..
결측값 채우기 (fillna) fillna() 함수를 이용하여 '키' 컬럼의 NaN 값을 –1로 채운다. 값을 유지하려면 inplace=True 옵션을 주거나, 채워 준 값을 다시 컬럼에 대입해야 한다. 결측값이 있는 행 제거 (dropna) dropna() 함수로 결측값이 있는 행을 제거한다. subset 옵션으로 컬럼을 선택할 수 있다. axis 옵션으로 행이나 열을 제거한다. axis=0: 행 제거 (기본) axis=1: 열 제거 how 옵션 how='any': NaN이 한 개라도 있는 경우 행 제거 (기본) how='all': 모두 NaN인 경우 행 제거 how='all' 옵션을 적용하기 위해, 행 하나를 모두 NaN 값으로 채운다. how='all' 옵션으로 모두 NaN 값인 행을 제거한다. 중..
Multi-Index (복합 인덱스) 행 인덱스를 복합적으로 구성하고 싶은 경우에는 인덱스를 리스트로 만들어준다. 1. unstack 인덱스 레벨에서 컬럼 레벨로 dataframe을 변경한다. Multi-Index로 된 DataFrame을 다시 피벗 테이블로 변환할 수 있다. 2. stack 컬럼 레벨에서 인덱스 레벨로 dataframe을 변경한다. 즉, 데이터를 쌓아올리는 개념으로 이해하면 된다. 3. 인덱스 설정 (set_index) column 데이터를 index 레벨로 변경한다. 4. 인덱스 초기화 (reset_index) Multi-Index로 구성된 데이터 프레임의 인덱스를 초기화해준다.