일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- Numpy
- sklearn
- pandas
- matplotlib
- 빅데이터 분석 기사
- python3
- 튜닝
- 머신러닝
- 실기
- Python
- 카카오
- 코딩테스트
- Kaggle
- oracle
- 오라클
- Oracel
- 프로그래머스
- 빅분기
- 알고리즘
- level 1
- 파이썬
- 데이터 분석
- R
- 실습
- seaborn
- level 2
- Today
- Total
목록pandas (22)
라일락 꽃이 피는 날
transform groupby 후 transform 함수를 사용하면 원래의 index를 유지한 상태로 통계 함수를 적용한다. 전체 데이터의 집계가 아닌 각 그룹에서의 집계를 계산한다. 따라서 새로 생성된 데이터를 원본 dataframe과 합치기 쉽다. df.groupby('Pclass').transform(np.mean) df['Age2'] = df.groupby('Pclass').transform(np.mean)['Age'] df df['Age3'] = df.groupby(['Pclass', 'Sex']).transform(np.mean)['Age'] df
melt 기준이 되는 변수를 선택해서 지정하고, 그 변수를 기준으로 컬럼을 행으로 재구조화시키는 함수다. pandas.melt(frame, id_vars=[], value_vars=[]) id_vars : 기준이 되는 변수 value_vars : 행으로 대입할 변수들 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.melt.html pandas.melt — pandas 1.2.4 documentation If True, original index is ignored. If False, the original index is retained. Index labels will be repeated as necessary. pandas.py..
Plot 그래프 일반 선 그래프를 나타낸다. kind 옵션 line 선 그래프 bar 바 그래프 barh 수평 바 그래프 hist 히스토그램 kde 커널 밀도 그래프 hexbin 고밀도 산점도 그래프 box 박스 플롯 area 면적 그래프 pie 파이 그래프 scatter 산점도 그래프 1. line 그래프 데이터가 연속적인 경우 사용하기 적절하다. ex) 주가 데이터 2. bar/barh 그래프 그룹별로 비교할 때 유용하다. 3. 히스토그램 (hist) 가로축에는 분포, 세로축에는 빈도가 시각화되어 보여진다. 4. 커널 밀도 그래프 히스토그램과 유사하게 밀도를 보여주는 그래프로, 부드러운 라인을 가지고 있다. 5. Hexbin 고밀도 산점도 그래프로, 데이터의 밀도를 추정한다. x, y 키 값으로 nu..
원핫인코딩 (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 타입으로..