Python39

pandas Tricks_02 👉🏻 'Select columns by Data Type' (Kevin by DataSchool) Q. 오늘도 데이터프레임이 주어졌다. 근데 특정 데이터 타입을 갖는 칼럼만 뽑아내고 싶다.. 어떻게 하면 될까...? A) 👉🏻 'select_dtypes' method 사용! 1> seaborn 'titanic' dataset 불러오면 (seaborn.load_dataset docu 👉🏻 https://seaborn.pydata.org/generated/seaborn.load_dataset.html) import pandas as pd import seaborn as sns titanic = sns.load_dataset('titanic') titanic.head() 2> 먼저 column dtypes 확인! #2) select columns by data type titanic.dtypes 3> se.. Python/Pandas&Numpy 2022. 3. 25.
시계열 데이터 - datetime ▧ python에서는 특별하게 datetime이라는 type이 존재한다 ▧ from datetime import datetime → 시계열 데이터로 바꾸기 위해서는 'xxxx-xx-xx (년-월-일)' data에 datetime()을 붙인다 dt = datetime(2022,1,24,21,30,42) dt.year #2022 dt.month #1 dt.day #24 dt.hour #21 dt.minute #30 dt.second #42 → 시계열 data는 indexing / slicing이 가능! (문자열과 다른 점) ex) pandas_datareader를 이용해 data를 import하고 '삼성증시' dataframe을 가져온다고 하면 !pip install pandas_datareader from.. Python/Fundamentals 2022. 3. 24.
list comprehension Q. list comprehension? A. list 안에 for문(+if문)을 포함시켜 편리 & 직관적인 프로그래밍 짜기 [f(x) for x in nums] → filter condition 추가도 가능! (if문) [f(x) for x in nums if g(x)] → ex) list안에 있는 element들을 한 줄만으로(👍) element 제곱형태로 표현 가능! nums = [1,2,3,4] result = [x*x for x in nums] #result == [1,4,9,16] nums = [1,2,3,4] result = [x*x for x in nums if x%2 == 0] #result == [4,16] (+) Map + filter → ex) nums = [1,2,3,4] list.. Python/Pandas&Numpy 2022. 3. 23.
pandas functions - cut, qcut ♠'cut' documentation https://pandas.pydata.org/docs/reference/api/pandas.cut.html ♠'qcut' documentation https://pandas.pydata.org/docs/reference/api/pandas.qcut.html 1. cut ✂️ → bin values into discrete intervals. Use cut when you need to segment and sort data values into bins. This function is also useful for going from a continuous variable to a categorical variable. For example, cut could con.. Python/Pandas&Numpy 2022. 3. 23.
pandas Tricks_01 👉🏻 'Reverse (row/column) Order' (Kevin by DataSchool) Q) 데이터프레임이 주어졌다. 근데 내가 원하는 데이터는 행 기준 아래 부분. 데이터 용량이 워낙 커서 데이터 훑기도 힘들다면 A) '행과 열 순서 바꾸기' 👉🏻 .loc[::-1] & .loc[:,::-1] 사용하기 (tail()도 있지만, 데이터프레임 자체의 행/열 구성을 바꿔주지는 않는다!) 1> seaborn 내장 iris dataset 가져오자. import seaborn as sns df_iris = sns.load_dataset('iris') df_iris.head() 2> loc[::-1] 사용. df_iris.loc[::-1].head() 3> 마음에 드는데 index가 걸린다. 다시 index를 reset 해보자(즉, index를 0부터 맞추잔 소리) (reset_index) → 원래 .. Python/Pandas&Numpy 2022. 3. 23.
(예제) - 한국 도쿄올림픽 medal count 가져오기 - ! -- 저번 포스팅에서는 HTML 형식의 파일이 존재한다면 open()을 이용해서 가져오고 BeautifulSoup parsing을 통해 직접 데이터를 검색했던 적이 있었다. 이번에는 직접 web browser url을 이용하여 web page를 가져오고 원하는 data를 찾아 출력하는 실습을 해보겠다 -- ! (하단 HTML file - BeautifulSoup 검색 포스팅) HTML 문서를 BeautifulSoup으로 검색하기 (+re module) ! -- web browser에서 직접적인 url을 가져와 parsing하는 web crawling은 아니지만 web에 존재하는(또는 컴퓨터에 자체적으로 존재하는) HTML file 내용을 가져와 나타내는 방법을 알아본다 -- ! ** Beautiful.. Python/Web Crawling+Scraping 2022. 3. 22.
HTML 문서를 BeautifulSoup으로 검색하기 (+re module) ! -- web browser에서 직접적인 url을 가져와 parsing하는 web crawling은 아니지만 web에 존재하는(또는 컴퓨터에 자체적으로 존재하는) HTML file 내용을 가져와 나타내는 방법을 알아본다 -- ! ** BeautifulSoup library tolerates highly flawed HTML & still lets you easily extract the data you need (repairs & parses HTML to make it easier for a program to understand) 1. import & parsing 1> BeautifulSoup import 2> open()의 read() method를 사용하여 sample.html file을 받는.. Python/Web Crawling+Scraping 2022. 3. 21.
Crawling/Scraping에 필요한 HTML5 & CSS3 (간단 정리) 1. HTML5 [1] 개요 및 개념 * 표준 web이라고 부르는 HTML5는 주로 내용을 표현하는 것에 중점을 둠 * HTML 요소를 통해 웹 페이지 구조와 의미를 정의한다 * 시작 태그와 끝 태그를 정의하고, 그 사이 컨텐츠를 만들기 위해 여러 태그를 활용한다 * 태그는 여러 종류로 나뉜다 (아래 외에도 다양한 종류의 tag 존재) → h1 tag: heading → p tag: paragraph - 문단 만들기 → li tag: list - 리스트 목록 만들기 → strong tag: 강조하기 → img tag: 이미지 표현 (src 속성을 통해 image source의 url을 기술한다) → a tag: 링크 정의 (href 속성을 통해 link의 대상을 정의한다) 2. CSS3(Cascading.. Python/Web Crawling+Scraping 2022. 3. 21.
Pandas 1. 개념 * python library로 구조화된 데이터를 효과적으로 처리하고 저장한다 - array 계산에 특화된 NumPy를 기반으로 설계한다 - 2차원 데이터 외 대용량 데이터 처리에 효과적임 - 데이터 가공, 변환, 정제, 수집, 전처리, 통계, 시각화 작업 모두 가능 -1- 데이터 수집) 텍스트, CSV, Excel, HTML(BeautifulSoup), XML, Hdfs, db, JSON 여러 형태를 pandas는 읽을 수 있다 -2- 데이터 전처리) 전처리 과정을 반드시 거쳐야 함 - 분석가능한 형태로 변형 (null 처리, 이상치, 정규화 등등) -3- 데이터 분석) 통계 & 시각화(matplotlib, seaborn) -4- 예측) pandas에서는 지원하지 않음 - sklearn, T.. Python/Pandas&Numpy 2022. 3. 21.
NumPy intro. + fundamentals 1/2 1. 개념 * NumPy = Numerical Python - Python에서 대규모 다차원 배열을 다룰 수 있게 도와주는 library * 데이터의 대부분은 숫자 배열로 볼 수 있기에 NumPy는 꼭 필요 - 이미지나 소리 등 실생활 대부분이 숫자로 표현됨 * NumPy는 반복문 없이 배열 처리가 가능하며, python list에 비해 빠른 연산을 지원하고 메모리를 효율적으로 사용할 수 있다 * list) list_arr = list(range(5)) print(list_arr) #[0,1,2,3,4] - comma로 구분 print(type(list_arr)) # * numpy) - import 사용 - numpy 배열 생성 및 출력 형태 확인해 보면 ndarray가 생성됨을 확인할 수 있다. - n.. Python/Pandas&Numpy 2022. 3. 20.
list comprehension Q. list comprehension? A. list 안에 for문(+if문)을 포함시켜 편리 & 직관적인 프로그래밍 짜기 [f(x) for x in nums] → filter condition 추가도 가능! (if문) [f(x) for x in nums if g(x)] → ex) list안에 있는 element들을 한 줄만으로(👍) element 제곱형태로 표현 가능! nums = [1,2,3,4] result = [x*x for x in nums] #result == [1,4,9,16] nums = [1,2,3,4] result = [x*x for x in nums if x%2 == 0] #result == [4,16] (+) Map + filter → ex) nums = [1,2,3,4] list.. Python/Fundamentals 2022. 3. 20.
Module & Package 1. Module [1] 필요성 및 정의 * 코드가 당연히 길어지는 상황에서 모든 함수, 변수를 구현하는 것은 불가능하다. 따라서 누군가 만들어놓은 함수, 변수 등을 활용해야 한다 * 모듈 = 특정 목적을 가진 함수, 자료의 모임 - 모듈 자체가 python file일 수 있다. 외부 python file을 가져오기 위해 'import 파일명' 사용 [2] 모듈 사용하기 * import(불러오다) keyword를 이용해서 모듈을 사용한다 import random # call random module * module 속 사용하려는 함수/변수의 사용법을 미리 확인해야 한다 > docu() 훑어보기 기본 Python/Fundamentals 2022. 3. 19.