일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- aws jupyter notebook
- Stack
- openCV
- 노마드코딩
- queue
- 파이썬
- pandas
- Selenium
- 정보처리기사 c언어
- 알고리즘 스터디
- programmers
- 자료구조
- Join
- type hint
- NumPy
- MySQL
- 프로그래머스
- Algorithm
- 알고리즘스터디
- 코딩테스트
- Matplotlib
- javascript
- 백준
- 가상환경
- 데이터시각화
- dataframe
- 선그래프
- 알고리즘
- String Method
- python
- Today
- Total
목록Python/Numpy & Pandas (19)
조금씩 꾸준히 완성을 향해
피벗 테이블 판다스 pivot_table() 사용 pivot_table() 함수의 기본 구성요소 : 행인덱스, 열인덱스, 데이터값, 데이터집계함수 # 데이터 확인 df = sns.load_dataset('titanic') df.head() # 데이터 프레임 -> 피벗 테이블 pd.pivot_table(df, # 피벗할 데이터 프레임 values='age', # 데이터로 사용할 들어갈 열 index='class', # 행 위치에 들어갈 열 columns='sex', # 열 위치에 들어갈 열 aggfunc='mean') # 데이터 집계 함수 pd.pivot_table(data=df, # 피벗할 데이터 프레임 values='survived', # 데이터로 사용할 열 index='class', # 행 위치에 들..
그룹 연산 특정 기준을 적용하여 데이터를 몇 개의 그룹으로 분할하여 처리하는 것 복잡한 데이터를 어떤 기준에 따라 여러 그룹으로 나눠서 분석 데이터를 집계, 변환, 필터링에 효과적 총 3단계 분할 (split): 데이터를특정 조건에 의해 분할 적용 (apply): 데이터를 집계, 변환, 필터링하는데 필요한 메소드 적용 결합 (combine) :처리 결과를 하나로 결합 Groupby ▶ 하나의 열 기준으로 그룹화 # 데이터 확인 df.head() # groupby로 class 열을 기준으로 분할하여 grouped 변수에 저장 grouped = df.groupby('class') grouped # # calss의 unique 값 확인 df['class'].unique() # ['Third', 'First',..
데이터 프레임 연결 데이터프레임의 구성 형태와 속성이 같다면 행/열 중 어느 한 방향으로 이어붙여서 데이터의 일관성 유지 데이터프레임의 형태를 유지하면서 이어 붙이는 개념 concat ▶ DataFrame #데이터 확인 df1 df2 # 데이터 프레임 행방향 연결 pd.concat([df1, df2], axis=0, ignore_index=False) #ignore_index=False 가 default (인덱스를 적용시켜 결합) pd.concat([df1, df2], axis=0, ignore_index=True) #ignore_index=True : 인덱스를 무시하고 결합(axis = 0 => 열 인덱스는 적용, 행 인덱스는 적용 안함) # 데이터 프레임 열방향 연결 pd.concat([df1, df..
함수 매핑 시리즈 또는 데이터 프레임의 개별 원소를 특정 함수에 일대일 대응시키는 과정 사용자가 직접 만든 함수 적용 apply(), applymap(), pipe() 시리즈 원소에 함수 매핑 ▶ series.apply(매핑함수) : 매핑 함수에 시리즈의 모든 원소를 하나씩 입력하고 리턴 # 라이브러리 import import seaborn as sns import pandas as pd # 타이타닉의 age, fare 열 선택 후 새로운 열 ten 추가, 모든 데이터는 숫자 10 df = sns.load_dataset('titanic')[['age', 'fare']] df['ten'] = 10 df.head(4) # 임의의 객체 n에 숫자 10을 더하는 add_10(n) 사용자 함수 정의 def add..
시계열 데이터 판다스는 주식, 환율 등 금융 데이터를 다루기 위해 개발된 라이브러리 시계열(time series) 데이터를 다루는 여러가지 유용한 기능 제공 시계열 데이터를 데이터프레임의 행 인덱스로 사용하면 시간으로 기록된 데이터 분석에 매우 편리 판다스 시간 표시 방식 중 시계열 데이터 표현에 자주 이용되는 두가지 유형 특정한 시점을 기록하는 Timestamp 두 시점 사이의 일정한 기간을 나타내는 Period 다른 자료형을 Timestamp 객체로 변환 ▶ 문자열을 Timestamp로 변환 판다스 to_datetime() 함수 : 다른 자료형을 판다스 Timestamp를 나타내는 datetime64 자료형으로 변환 # stock-data.csv 파일 불러오기 df = pd.read_csv('/con..
범주형(category) 데이터 처리 구간 분할 연속형 데이터를 그대로 사용하기 보다는 일정한 구간(bin)으로 나눠서 분석하는 것이 효율적인 경우가 있다. 이를 구간 분할(binning) 이라고 하고 pandas의 cut 함수를 사용한다. ▶ 라이브러리 import import pandas as pd import numpy as np ▶ NaN값 처리 # horsepower 열의 NaN 삭제 df.dropna(subset=['horsepower'], inplace=True) # horsepower 열의 NaN 값 개수 확인 df.horsepower.isna().sum() # 0 ▶ np.histogram 함수 사용해서 열 분리 # horsepower 열을 bins 옵션으로 3개로 분리 실행 # bins..
데이터 표준화 단위 변경 같은 데이터셋에서 서로 다른 측정 단위 사용 시 전체 데이터의 일관성 측면에서 문제 발생 => 측정 단위를 동일하게 맞출 필요가 있음 외국 데이터를 가져오면 국내에서 잘 사용하지 않는 도량형 단위 많이 사용 영미권의 마일드, 야드, 온스 등은 한국의 미터, 평, 그램 등으로 변환 # mpg 데이터프래임의 mpg(mile per gallon)을 kpl(kilometer per liter)로 변환 df = pd.read_csv('/content/drive/MyDrive/ Encore Prac/auto-mpg.csv', header=None) df # mpg(mile per gallon)을 kpl(kilometer per liter)로 변환 후 소수점 둘째자리까지 반올림 # kpl 열..
중복 데이터 처리 ▶ 중복 데이터 확인 duplicated() : 동일한 관측값이 중복되는지 여부를 확인 전에 나온 행들과 비교하여 중복되는 행이면 True, 처음 나오는 행은 False 반환 df #데이터 프레임 전체행에서 중복값 찾기 df.duplicated() # c2열에서 중복값 찾기 df.c2.duplicated() ▶ 중복 데이터 제거 drop_duplicates() : 중복된 행을 제거하고 고유한 관측값을 가진 행들만 보존 #데이터 프래임에서 중복 행을 제거 df.drop_duplicates() # c2,c3 열을 기준으로 중복 행을 제거(subset 옵션) df.drop_duplicates(subset=['c2', 'c3'])
누락데이터 처리 데이터의 누락 : 데이터를 입력할 때 빠트리거나 파일 형식을 변환하는 과정에서 데이터가 소실되는 것이 주요 원인 일반적으로 유효한 데이터 값이 존재하지 않는 누락 데이터를 NaN(Not a Number)으로 표시 머신러닝 모델에 데이터 입력 전 반드시 누락 데이터 제거 혹은 다른 적절한 값으로 대체하는 과정 필요 누락 데이터가 많아지면 데이터의 품질이 떨어지고 머신러닝 분석 알고리즘을 왜곡하는 현상 발생 ▶ NaN 값 확인 #라이브러리 import import seaborn as sns import pandas as pd #titanic 데이터 가져오기 df = sns.load_dataset('titanic') df.head(5) #데이터프레임 요약 정보 출력 후 NaN값 개수 확인 df..