일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- Matplotlib
- pandas
- Join
- type hint
- 코딩테스트
- Selenium
- 선그래프
- 가상환경
- javascript
- String Method
- 자료구조
- aws jupyter notebook
- queue
- 노마드코딩
- 알고리즘
- 데이터시각화
- MySQL
- python
- Algorithm
- 백준
- dataframe
- Stack
- 알고리즘스터디
- 정보처리기사 c언어
- 프로그래머스
- programmers
- 알고리즘 스터디
- NumPy
- openCV
- Today
- Total
목록Python (75)
조금씩 꾸준히 완성을 향해
그룹 연산 특정 기준을 적용하여 데이터를 몇 개의 그룹으로 분할하여 처리하는 것 복잡한 데이터를 어떤 기준에 따라 여러 그룹으로 나눠서 분석 데이터를 집계, 변환, 필터링에 효과적 총 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..
지도 영역에 단계구분도(Choropleth Map) 표시하기 행정구역과 같이 지도 상의 어떤 경계에 둘러싸인 영역에 색을 칠하거나 음영 등으로 정보를 나타내는 시각화 방법 전달하려는 정보의 값이 커지면 영역에 칠해진 음영이 진해진다. #경기도 인구변화 데이터를 불러와서 데이터프레임 df로 변환 df = pd.read_excel('/content/drive/MyDrive/ Encore Prac/경기도인구데이터.xlsx') #'구분'열을 인덱스로 지정 df.set_index('구분', inplace=True) # 컬럼명을 str타입으로 변환(map) df.columns = df.columns.map(str) #경기도 지도 만들기 g_map = folium.Map(location=[37.55..