본문 바로가기

Python231

일변량 / 이변량 시각화 □ 일변량 ○ 변수가 1개일 때 이를 일변량 ○ 하나의 변수를 시각화하는 가장 일반적 방법 ○ 값을 일정 구간별로 묶어서 해당 구간의 데이터 개수를 빈도로 표시하는 그래프로 변수의 분포를 나타냄 * bins : x축 구간의 막대 표시 개수를 의미함 #라이브러리 호출 import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset('tips') fig = plt.figure() #틀생성 axes1 = fig.add_subplot(1,1,1) #위치 및 순서 지정 axes1.hist(data = tips, x='total_bill', bins = 10) axes1.set_title('histogram of Total Bill') #대.. 2024. 2. 6.
한번에 4개 그래프 그리기 □ 순서 ○ 데이터 불러오기 및 셋 구축 ○ 틀 생성 plt.figure() ○ 데이터 시각화 배치 #데이터셋 필드의 값이 I 인것으로 설정 dataset_1 = anscombe[anscombe['dataset'] == 'I'] dataset_2 = anscombe[anscombe['dataset'] == 'II'] dataset_3 = anscombe[anscombe['dataset'] == 'III'] dataset_4 = anscombe[anscombe['dataset'] == 'IV'] #기본틀 생성 fig = plt.figure() fig.suptitle('Visual Data') #그림판 대제목 fig.set_tight_layout('True') #그래프와 소제목 겹치지않도록 간격 생성 #2*.. 2024. 2. 6.
파이플롯(pyplot) 시각화 □ 데이터 셋 지정 #데이터 불러오기 anscombe = sns.load_dataset('anscombe') #데이터셋 필드의 값이 I 인것으로 설정 dataset_1 = anscombe[anscombe['dataset'] == 'I'] □ plot 차트 생성 및 라인색상 지정 #데이터셋 중 x필드와 y필드로 plot 차트 생성 및 색상 blue추가 plt.plot(dataset_1['x'], dataset_1['y'], c='b') □ plot 차트 생성 및 라인 굵기 지정 plt.plot(dataset_1['x'], dataset_1['y'], c='b', lw = 5) #선 굵기 추가 □ plot 차트 생성 및 라인 스타일 점선 지정 plt.plot(dataset_1['x'], dataset_1['.. 2024. 2. 6.
다음 뉴스(제목, 링크, 회사, 카테고리) 크롤링 □ 크롤링 대상 ○ 언론사 ○ 카테고리 ○ 기사제목 ○ 기사제목 안에 있는 상세페이지 링크 주소 #라이브러리 호출 import requests from bs4 import BeautifulSoup #크롤링 사이트 설정 target_url = 'https://news.daum.net/' #데이터 request 및 get. get한 데이터를 html.paser로 분리 req_data_area = requests.get(target_url, headers = headers) html_raw_data = req_data_area.text #해당영역에 있는 모든 텍스트 데이터 저장 html_raw_data_parsing = BeautifulSoup(html_raw_data, 'html.parser') #클래스 이.. 2024. 2. 5.
판다스 : 시리즈 □ 시리즈는 1차원 데이터, 데이터프레임은 2차원 데이터 형태로 구성됨 □ 시리즈 생성 ○ 인덱스란 행의 레이블을 의미함. 별도 지정안하면 인덱스는 0부터 자동생성됨 #시리즈 생성 : 인덱스 무 seriesdt = pd.Series([10,20,30,40,50]) #시리즈 생성 : 인덱스 유 #인덱스는 행의 레이블을 의미함. 별도 지정안하면 인덱스는 0부터 자동생성됨 seriesdt_index = pd.Series([10,20,30,40,50], index = ['국어','영어','수학','국사','세계사']) □ 인덱스 조회 #인덱스 확인 seriesdt_index.index print(seriesdt_index.index) □ 인덱스 수정 seriesdt_index.index = ['영어','한문',.. 2024. 2. 4.
장고란?(feat.MTV모델) □ 마감시간이 있는 완벽주의자를 위한 웹프레임워크 □ 바퀴를 다시발명하지마라 ○ 초기 학습비용은 있지만 매번 새롭게 바퀴를 재발명 안함 ○ 장고라는 바퀴를 잘굴려 빠르고 정확하게 동작하는 에플리케이션 개발 ○ 백엔드 개발에 필요한 거의 모든 기능을 장고중심으로 제공 □ 시간은 가장 큰비용으로!! 장고를 누리고 시간을 아껴라 ○ 고유한 개념 및 데이터는 한곳에, 하나만 조재 ○ 중복 X, 정규화 OK ○ 장고를 통해 중복없는 고유한 개념/데이터로 최대한의 기능을 만듬 □ 신속한 개발 추구 ○ 느슨한 결합 탄탄한 응집 ○ 프레임워크의 각 계층은 필요하기전에는 서로 결합이 없어야함, Best Practice 제안구현은 있지만 강제는 아님 □ 적은코드 / 반복하지 않음 ○ 중복줄이고 정규화 지향 ○ 명시적인 묵.. 2024. 2. 4.
.text 와 .string 차이점(보완) # 라이브러리 호출 from bs4 import BeautifulSoup html = ''' 네이버 ''' #html.parser를 활용해 html 파싱 soup = BeautifulSoup(html, 'html.parser') #클레스네임이 logo_naver인것 활용 logo = soup.select_one(".logo_naver") print(f'text\t:\t{logo.text}\n.logo_naver 네임을 가진 태그의 모든 하위요소의 텍스트 추출. 좀 두루뭉실하게 사용하려면 사용') print('\n\n') print(f'string\t:\t{logo.string}\n정확하게 한개의 태그안에 텍스트가 있어야 인식하고 추출가능함. 빈칸, 빈줄이 있다면 무엇을 추출해야하는지 몰라함. 정확한 값을.. 2024. 2. 2.
판다스 : 타이타닉 데이터 결측값 처리 □ 목적 : 타이타닉 데이터에서 결측값을 처리해보자 import pandas as pd #타이타닉 누락 titanic_file = pd.read_excel('C:/python/DataScience/Data/data/python_data/titanic.xls') □ 예제 ○ 불러온 데이터 프레임 정보확인 : .info() #문제1 정보확인 titanic_file.info() ○ 필드별 결측값 개수 확인 - .count() : 필드별 데이터개수 집계(결측값을 포함시키진 않음) - shape[0] : 행/열 정보를 나타내는 함수에서 [0] 인덱스를 활용해서 값 추출 #문제2 필드별 결측값 개수 구하기 a = titanic_file.count() #결측값을 제외한 집계 b = titanic_file.shape[.. 2024. 2. 2.
판다스 : 결측값 예제 □ 문제 1 ○ 라이브러리 및 데이터 불러오기 import pandas as pd import numpy as np #라이브러리 호출 ebola = pd.read_csv('C:/python/DataScience/Data/data/python_data/country_timeseries.csv') ebola.shape ○ 필드별 행수 집계(결측값 제외) : 데이터프레임명.count() # 필드별 행수 집계(결측값 제외) ebola.count() ○ NaN 결측값을 제외한 컬럼별 행 개수 - 데이터프레임명.shpa[0] 총 행수에서 결측값을 제외한 ebola.count() 를 빼면 잔여값이 결측값 개수임 # 필드별 행수 집계(결측값 제외) ebola.count() having_NaN = ebola.shape[.. 2024. 2. 2.