반응형

Python 45

[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

[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] 파이썬 문법 기초

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

[Python] Sequence Data Type - list

Sequence Data Type memership 연산: in 키워드 사용 size 함수: len(seq) slicing 속성: seq[:-1] iterability: 반복문에 있는 데이터를 순회할 수 있음 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음 list 대괄호 []을 이용하여 선언 모든 자료형을 담을 수 있음 삽입, 수정, 삭제 등이 자유로움 순서가 있는 자료형으로 인덱싱 슬라이싱 가능 list_1 = [1, 2, 'character', ['two', 'three'], ('tuple', 'inlist')] list_1[3] >> ['two', 'three'] list_1[4][0] >> 'tuple' 인덱싱 가장 바깥 괄호부터 접근 첫번째 위치부터 시작하여 ..

Python/Data Type 2022.04.25

[Python] Textract 문서 데이터 처리

Textract 워드, 파워포인트, PDF 파일 등의 텍스트 추출 https://github.com/deanmalmgren/textract GitHub - deanmalmgren/textract: extract text from any document. no muss. no fuss. extract text from any document. no muss. no fuss. Contribute to deanmalmgren/textract development by creating an account on GitHub. github.com Textract 설치 pip install textract Textract를 이용한 문서 데이터 추출 import textract text = textract.proces..

[Python] [tika-python] PDF, Powerpoint 정보 추출

tika-python [tika-pyhon @github] GitHub - chrismattmann/tika-python: Tika-Python is a Python binding to the Apache Tika™ REST services allowing Tika to be call Tika-Python is a Python binding to the Apache Tika™ REST services allowing Tika to be called natively in the Python community. - GitHub - chrismattmann/tika-python: Tika-Python is a Python binding ... github.com Apach Tika REST 서비스에 대한 Py..

728x90
반응형