728x90

Data/Python 41

[Python] 파이썬 정규 표현식 - re

정규표현식(regular expression) 특정한 패턴과 일치하는 문자열를 '검색/치환/제거'하는 기능을 지원 정규표현식의 도움없이 패턴을 찾는 작업은 불완전하거나, 작업 비용이 높음 예를 들어, 이메일 형식 판별, 전화번호 형식 판별, 숫자로만 이루어진 문자열 등 # re 패키지 사용법 import re re.함수(찾아줄것, 찾아야할 데이터) - 직접 찾아줄 것을 대입 기본 패턴 a, X, 9 등등 문자 하나하나의 character들은 정확히 해당 문자와 동일. 대소문자의 경우 기본적으로 구별하나, 구별하지 않도록 설정 가능. 몇몇 문자들에 대해서는 예외가 존재하는데, '. ^ $ * + ? { } [ ] \ | ( )'들은 틀별한 의미로 사용 됨 https://docs.python.org/3/li..

Data/Python 2023.06.18

[Python] 파이썬 Pandas의 연산 - 피봇테이블, 통계값, 함수들

기초 통계 연산 보통 누락된 값을 제외하고 연산 # 중앙값 >>> df.mean() A -0.004474 B -0.383981 C -0.687758 D 5.000000 F 3.000000 dtype: float64 # 특정 축의 중앙값 >>> df.mean(1) 2013-01-01 0.872735 2013-01-02 1.431621 2013-01-03 0.707731 2013-01-04 1.395042 2013-01-05 1.883656 2013-01-06 1.592306 Freq: D, dtype: float64 # 다른 차원의 객체더라도 판다스는 자동으로 정렬해 연산함 >>> s = pd.Series([1, 3, 5, np.nan, 6, 8], index=dates).shift(2) >>> s 201..

Data/Python 2023.06.18

[Python] 파이썬 Pandas의 사용법 - 보기, 선택, 설정, 누락된 데이터

Pandas란? 데이터 분석, 처리를 위해 만들어진 파이썬 패키지로, 보다 안정적으로 대용량 데이터들을 쉽게 처리할 수 있다 0. 패키지 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt 1. 객체 생성 # 1. 시리즈 >>> s = pd.Series([1, 3, 5, np.nan, 6, 8]) >>> s 0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64 # 2. 데이터프레임 >>> df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD')) >>> df A B C D 2013-01-01 0.469112 ..

Data/Python 2023.06.18

[Python] 파이썬 Pandas 자료구조 - Dataframe

1. 데이터 프레임 인덱싱, 셀렉션 # 데이터 프레임 선택, 추가, 삭제, 삽입 >>> df['three'] = df['one'] * df['two'] # 새로운 컬럼 추가 >>> df['flag'] = df['one'] > 2 >>> df one two three flag a 1.0 1.0 1.0 False b 2.0 2.0 4.0 False c 3.0 3.0 9.0 True d NaN 4.0 NaN False >>> df['one'] # 변수명[' ']은 해당값 선택 a 1.0 b 2.0 c 3.0 d NaN Name: one, dtype: float64 >>> df.one # 컬럼 선택 flag a 1.0 b 2.0 c 3.0 d NaN Name: one, dtype: float64 >>> del ..

Data/Python 2023.06.18

[Python] 파이썬 Pandas 자료구조 - Series, Dataframe

Pandas란? 데이터 분석, 처리를 위해 만들어진 파이썬 패키지로, 보다 안정적으로 대용량 데이터들을 쉽게 처리할 수 있다고 한다 0. 패키지 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt 1. 자료구조 ① 시리즈(Series) value와 index의 형태를 지니는 Pandas의 자료 구조. 값이 있는 리스트를 통해 Series를 만들고, 정수로 만들어진 인덱스를 기본값으로 불러옴. # 시리즈 생성 방법 변수명 = pd.Series(data, index=['','']) # 인덱스 지정 생략가능, 생략시 0부터 자동 지정 # 리스트로 Series 만들기 >>> s = pd.Series([1,3,5,7], index..

Data/Python 2023.06.18

[Python] 파이썬 웹페이지 자동화 - Selenium

Selenium란? BeautifulSoup 라이브러리만으로도 다양한 사이트의 정보를 추출 가능하나, 자바스크립트로 동적으로 생성된 정보는 가져올 수 없는 한계 Request와 Beautifulsoup으로 크롤링 실패시 Selenium 사용하면 끝 Selenium은 웹페이지 테스트 자동화용 모듈로, 개발/테스트용 드라이버(웹브라우저)를 사용하여 실제 사용자가 사용하는 것처럼 동작하게 만듬. 인스타그램 좋아요 등 보통 반복적으로 하고 있는 웹상의 행동들을 자동화하기에 좋음. Selenium 모듈 설치 Anaconda Navigator > Environments > All 선택 > selenium 검색 및 선택 > Apply 크롬 드라이버 다운로드 ChromeDriver 88.0.4324.27 부분 클릭 >..

Data/Python 2023.06.18

[Python] 파이썬 웹사이트 크롤링 - BeautifulSoup

BeautifulSoup란? 뷰티플 수프는 HTML과 XML 문서를 파싱하기위한 파이썬 패키지 웹 스크래핑에 유용한 HTML에서 데이터를 추출하는 데 사용할 수있는 구문 분석 된 페이지에 대한 구문 분석 트리를 생성 Parsing이란? 어떤 문장을 분석하거나 문법적 관계를 해석하는 행위로, 컴퓨터 과학에서는 일련의 문자열을 의미있는 token(어휘 분석) 단위로 분해하고, 그것들로 이루어진 Parse tree를 만드는 과정 Parser는 문법 및 구문 분석하는 parsing을 수행하는 프로그램 HTML 문자열 파싱 문자열로 정의된 html 데이터 파싱(parsing : HTML에서 특정값만 추출)하기 예를 들어 Contents Title 구문에서 h3는 태그(tag), title은 속성(attribute..

Data/Python 2023.06.18

[Python] 파이썬 OPEN API로 Json 데이터 불러오기

https://www.kores.net/views/cms/komis/dataopen/openapi/openapiintro.jsp"}],["code",{"code":"serviceKey = ">API?API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체API 역할API는 여러분이 가진 서버와 데이터베이스에 대한 출입구 역할로 허용된 사람들에게만 접근성을 부여해줌API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할API는 모든 접속을 표준화하기 때문에 기계/운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있으며, API는 범용 플러그처럼 작동 가능.API 유형Private API: 내부 API로, 제 3자에게 노출되지 않습니다.Public API: 개방형 API로, 모두..

Data/Python 2023.06.18

[Python] 파이썬 HTTP 메쏘드 - Request와 Response

HTTP Method HTTP(HyperText Transfer Protocol): HTML 문서 등의 리소스를 전송하는 프로토콜 데이터 요청 방식 Get 요청: 데이터를 URL에 포함하여 전달, 주로 리소스 요청에 사용 Post 요청: 데이터를 Form data에 포함하여 전달, 주로 로그인 같이 민감한 데이터를 전송할때 사용 HTTP Requests 모듈 http request/response를 위한 모듈로, HTTP method를 메소드 명으로 사용하여 request 요청 예) get, post import requests url = 'https://news.v.daum.net/v/20190728165812603' Get 요청 http get 요청하기는 query parameter 이용하여 데이터 ..

Data/Python 2023.06.18

[Python] 얕은 복사와 깊은 복사

복사 파이썬에는 얕은 복사(shallow copy), 깊은 복사(deep copy)가 있으며, 파이썬에서는 메모리 낭비를 방지하기위해 기본적으로 얕은 복사 사용. 얕은복사(Shallow Copy) = 주소복사 전체 값을 항상 메모리에 복사하면 그만큼 속도가 느려지고 메모리도 공간이 부족해서 메모리 주소를 참조해 해당 값을 가져오는 얕은 복사 사용. 얕은 복사라는 것은 변수를 복사했다고 생각했지만 실제로는 자료의 주소와 연결되어있는 것을 의미. 즉, 변수를 복사했지만 참조한 곳은 동일하기 때문에 같은 변수를 가리키고 있음. 그래서 변경시 원본 훼손의 우려가 있음. 1차원일 때 리스트, 딕셔너리 값을 바꾸면 복사한 값도 바뀜. 2차원일 때 깊이가 깊어지면서 복사한 값과 원본이 동일하게 바뀜. # 얕은 복사 ..

Data/Python 2023.06.18
728x90