반응형

Python 51

[데이터 분석] Data Scaling (스케일 조정)

Data Scaling (특성 스케일 바꾸기) 데이터를 모델링하기 전에는 스케일링 과정을 거쳐야 한다. 스케일링을 통해 다차원의 값들을 비교 분석하기 쉽게 만들어주며, 자료의 오버플로우(overflow)나 언더플로우(underflow)를 방지 하고, 독립 변수의 공분산 행렬의 조건수(condition number)를 감소시켜 최적화 과정에서의 안정성 및 수렴 속도를 향상 시킨다. StandardScaler (Xi - (X의 평균)) / (X의 표준편차) 각 특성의 평균을 0, 분산을 1로 변경하여 특성의 스케일을 맞춘다. 최소값과 최댓값의 크기를 제한하지 않는다. 이상치에 상대적으로 취약하다. from sklearn.preprocessing import StandardScaler features = np..

[Web Crawling] Beautiful Soup

Beautiful Soup HTML과 XML 파일로부터 데이터를 뽑아내기 위한 파이썬 라이브러리 Web scraping에 사용되는 주요 라이브러리 중 하나 www.crummy.com/software/BeautifulSoup/bs4/doc/ Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation Non-pretty printing If you just want a string, with no fancy formatting, you can call str() on a BeautifulSoup object (unicode() in Python 2), or on a Tag within it: str(soup) # ' I linked to exampl..

Python/Web Crawling 2022.04.27

[Web Crawling] Scraping & Crawling

Web Crawling은 프로그램이 웹 사이트를 정기적으로 돌며 정보를 추출하는 기술이다. Web Scraping은 웹 사이트에 있는 특정 정보를 추출하는 기술을 말한다. Web Scraping 웹 사이트에 있는 특정 정보를 추출하는 기술을 말한다. 웹 크롤링과 달리 웹 스크래퍼는 특정 웹 사이트 또는 페이지에서 특정 정보를 검색한다. 기본적으로 웹 크롤링은 기존의 복사본을 만들고, 웹 스크래핑은 분석을 위한 특정 데이터를 추출하거나 새로운 것을 만든다. Data Scraping 컴퓨터 프로그램이 다른 프로그램으로부터 들어오는 인간이 읽을 수 있는 출력으로부터 데이터를 추출하는 기법이다. Web Crawling 프로그램이 웹 사이트를 정기적으로 돌며 정보를 추출한다. 프로그램을 Crawler 또는 Spi..

Python/Web Crawling 2022.04.27

[Pandas] 데이터 정렬하기

sort_index() 인덱스(index)를 기준으로 데이터 정렬 data = pd.DataFrame(np.arange(8).reshape(2,4), index=['b','a'], columns=['lee','kim','choi','oh']) data.sort_index() 열 기준으로 데이터 정렬 data.sort_index(axis=1, ascending=True) sort_values() 컬럼의 값을 기준으로 데이터를 정렬 data = pd.DataFrame({'one':[9,5,-4,2], 'two':[0,1,0,1]}) data.sort_values(by='one') 여러 컬럼 기준으로 데이터 정렬하는 경우 data.sort_values(by=['two', 'one'])

Python/Pandas 2022.04.26

[Pandas] 데이터프레임 병합

merge on 매개변수에 병합 열을 지정하여 데이터프레임 병합 how='inner' : default는 inner join임 df1 = pd.DataFrame({'key':list('bbacaab'), 'data1':range(7)}) df2 = pd.DataFrame({'key':list('abd'), 'data2':range(3)}) pd.merge(df1, df2, on='key') Outer Join pd.merge(df1, df2, on='key', how='outer') merge 컬럼 명이 다른 경우 left_on, right_on 매개 변수 사용 df1 = pd.DataFrame({'lkey':list('bbacaab'), 'data1':range(7)}) df2 = pd.DataFram..

Python/Pandas 2022.04.26

[Pandas] 데이터프레임 연결

concat() axis=1 매개변수를 설정하여 행의 축을 따라 연결 df1 = pd.DataFrame(np.arange(6).reshape(3,2), index=list('abc'), columns=['one', 'two']) df2 = pd.DataFrame(np.arange(4).reshape(2,2), index=list('ac'), columns=['three', 'four']) pd.concat([df1, df2]) axis=0 매개변수를 설정하여 열의 축을 따라 연결 df1 = pd.DataFrame(np.arange(6).reshape(3,2), index=list('abc'), columns=['one', 'two']) df2 = pd.DataFrame(np.arange(4).reshap..

Python/Pandas 2022.04.26

[Python] 파이썬 코딩 스타일

PEP 8 https://peps.python.org/pep-0008/ 구글 파이썬 스타일 가이드 https://google.github.io/styleguide/pyguide.html Naming Conventions Type Public Internal 패키지 lower_with_under 모듈 lower_with_under _lower_with_under 클래스 CapWords _CapWords 예외 CapWords 함수 lower_with_under() _lower_with_under() 글로벌/클래스 상수 CAPS_WITH_UNDER _CAPS_WITH_UNDER 글로벌/클래스 변수 lower_with_under _lower_with_under 인스턴스 변수 lower_with_under _lo..

[Python] 파이썬 문법 기초

Intent 파이썬 공식 가이드인 PEP 8(https://peps.python.org/pep-0008/)에 따라 공백 4칸을 원칙으로 한다. PEP(Python Enhancement Proposals) 프로세스 https://peps.python.org/ 새로운 기능을 제안하고 커뮤니티의 의견을 수렴하여 파이썬의 디자인 결정을 문서화하는 파이썬의 주요 개발 프로세스 Naming Convention 변수명과 함수명은 snake case를 따른다. camelCase PascalCase snake_case Camel Case camel(낙타)에서 유래해 부른 이름이며 단어를 대소문자로 구분하여 섞어서 작명하는 방식이다. 자바의 대표적인 표기 방식이기도 하다. Pascal Case 첫 시작 문자도 대모자로 표..

Dynamic Typing vs Static Typing

Dynamic Typing 동적 타이핑은 코드를 작성하는데 있어서 컴퓨터적 구조를 생략한다. 따라서 변수를 지정할 때 해당 변수의 데이터 타입 등을 명시하지 않아도 컴퓨터가 알아서 해석하도록 둔다. 파이썬에서 a = 15 라는 식으로 변수를 지정할 때 a가 숫자라고 명시 하지 않더라도 컴퓨터는 이를 스스로 숫자라 해석한다. 이러한 방식은 코드를 보다 간결하게 해주며 코드의 로직을 보다 명확히 보여줄 수 있지만, 데이터 타입이 뭔지 파악하는 것을 컴퓨터에게 맡기기 때문에 그 만큼 실행 속도가 느려진다는 단점이 있다. 코드를 작성하는 시간이 빠르다. 코드를 실행하는 속도가 느리다. 코드의 내용, 로직을 파악하기 쉽다. 처음 프로그래밍을 학습하는 사람에게 적합한 언어이다. 속도를 중요시하는 작업에선 사용하기 ..

[Python] 데이터 분석 파이썬 라이브러리

Scipy 과학 계산용 함수를 모아놓은 파이썬 패키지 고성능 선형대수, 함수 최적화, 신호처리, 특수한 수학 함수와 통계 분포 등을 포함한 많은 기능 제공 pip install scipy import scipy as sp matplotlib [Data Visualization] - Matplotlib 과학 계산용 그래프 라이브러리 선 그래프, 히스토그램, 산점도 등을 지원하며 고품질 그래프를 그려준다. pip install matplotlib import matplotlib.pylab as plt seaborn [Data Visualization] - Seaborn matplotlib 패키지에서 지원하지 않는 고급 통계 차트를 그리는 통계용 시각화 기능을 제공한다. pip install seaborn i..

[Pandas] Pandas 개념

Pandas 데이터 처리와 분석을 위한 파이썬 라이브러리이다. R의 data.frame을 본떠서 설계한 DataFrame이라는 데이터 구조를 기반으로 만들어졌다. 엑셀의 스프레드시트와 비슷한 테이블 형태를 가진다. SQL처럼 테이블에 쿼리나 조인을 수행할 수 있다. SQL, 엑셀 파일, CSV 파일 같은 다양한 파일과 DB에서 읽어들일 수 있다. Pandas 설치 pip install pandas Pandas 데이터 구조 Data Structure Dimensionality Spreadsheet Analog Series 1D Column DataFrame 2D Single Sheet Panel 3D Multiple Sheet Series Python의 목록과 유사한 1차원 데이터를 모델링하는데 사용된다...

Python/Pandas 2022.04.25

[Python] Collection Data Type - set

Collection Data Type 데이터를 서로 연관시키지(relating) 않고 모아두는 컨테이너(container) 멤버십 연산자: in 크기 함수: len(seq) 반복성: 반복문의 데이터를 순회 set 중괄호 {}을 이용하여 선언 반복 가능하고, 가변적이며, 중복 요소가 없고, 정렬되지 않은 컬렉션 데이터 타입 멤버십 테스트 및 중복 항목 제거에 사용됨 set method add(x) x가 없는 경우 x 추가 people = {"버피", "엔젤", "줄리엣"} people.add("리키") peple >> {"버피", "리키", "줄리엣", "엔젤"} update(), |= 연산자 A.update(B), A |= B, B를 A에 추가한다. people = {"버피", "엔젤", "자일스"} p..

Python/Data Type 2022.04.25

[Python] Sequence Data Type - byte, bytearray

Sequence Data Type memership 연산: in 키워드 사용 size 함수: len(seq) slicing 속성: seq[:-1] iterability: 반복문에 있는 데이터를 순회할 수 있음 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음 byte, bytearray raw binary를 처리하는데 사용할 수 있는 데이터 타입 byte: immutable, 문자열 타입과 비슷 bytearray: mutable, 리스트 타입과 비슷 0~255 범위의 부호 없는 8비트 정수 시퀀스 blist = [1, 2, 3, 255] the_bytes = bytes(blist) the_bytes >> b'\x01\x02\x03\xff' the_byte_array = b..

Python/Data Type 2022.04.25
728x90
반응형