파이썬
[파이썬] 판다스(Pandas) 메서드 실습
판다스 라이브러리 # 실습에서는 넘파이도 사용함으로 넘파이 라이브러리 임포트 import pandas as pd import numpy as np Series 생성 - 어떤 데이터 타입이든 보유할 수 있는 레이블링된 1차원 배열. - np.nan : Not a Number의 약자, 표현되지 않는 부동소수점 값으로 파이썬에서는 float 타입이 된다. 무한대끼리의 나눗셈, 덧셈 등 다양한 방법을 통해 NaN을 생성할 수 있고, NaN이 피연산자로 포함되는 어떠한 연산도 결과는 NaN이 된다. # s는 1, 3, 5, np.nan, 6, 8을 원소로 가지는 pandas.Series print(pd.Series([1, 3, 5, np.nan, 6, 8])) >>> 0 1.0 1 3.0 2 5.0 3 NaN 4..
[파이썬] OOP 객체 지향 프로그래밍
파이썬 공부를 하면서 OOP라는 단어를 처음 들었다. 이게 뭐지..? 객체 지향 프로그래밍이라고 했다. 이건 들어봤다. 정보처리기사 공부를 하거나, 자바로 앱을 만들 때 들어보았다. 하지만, 나는 지금도 OOP가 뭔지 구체적으로 설명을 못한다. (그냥 느낌으로만 알고 있...다..?) 그래서 OOP에 대해서 블로그를 쓰면서 공부를 해볼 것이다. 객체 지향 프로그래밍(OOP) OOP는 프로그램 설계방법론이자 일종의 개념이다. 단순히 프로그램을 데이터와 처리 방법으로 나눈 것이 아닌, 프로그램을 "객체(Object)"라는 기본 단위로 나누고, 이들간의 상호작용하는 방식이다. 객체란, 하나의 역할을 수행하는 "메소드와 변수(데이터)"의 묶음이다. 구성 요소 클래스(Class) 객체(Object) 메서드, 메시..
[파이썬] 넘파이(Numpy) 메서드 실습
넘파이 라이브러리 불러오기 import numpy as np numpy 라이브러리를 임포트하며, as np 는 일종의 별명입니다. 일일이 numpy라고 치는 것보다 np라고 줄여서 치는게 편하겠죠? (참고로 아래 예제 코드에서는 이부분을 생략할 것입니다) 리스트 선언 및 numpy array로 변환 - np.array(list) : 리스트를 numpy array로 변환 import numpy as np # 1차원 리스트 선언 list1 = [1,2,3,4,5] # 2차원 리스트(행렬) 선언 list2 = [[1,2],[3,4]] arr1 = np.array(list1) # 1차원 리스트 arr2 = np.array(list2) # 2차원 리스트 print(arr1) >>>[1 2 3 4 5] print(..
[파이썬] 판다스(Pandas) 란
판다스(Pandas) 란 - Pyhton Data Analysis Library. 정형 데이터 분석에 최적화된 라이브러리 - 2008년에 만들어졌으며, 2009년에 100% 오픈소스가 되었다 - DataFrame 형태로 모든 데이터를 표현한다 - 다양한 데이터 조작 기능을 제공한다 ex. 인덱싱, 필터링 등 - 벡터 연산에 최적화되어 있다. ( Numpy와 비슷 ) 판다스 라이브러리 import pandas as pd 판다스(Pandas)를 사용해야 하는 이유 대부분의 정제된 데이터들은 테이블 형태로 표현된다. 이러한 형태를 분석하기에 최적화된 라이브러리가 판다스이다 넘파이처럼 정형회된 데이터 연산에 대해 성능이 매우 뛰어나다 다양한 정형 데이터를 통합 관리할 수 있다( json, html, csv, x..
[파이썬] 넘파이(Numpy) 란
넘파이(Numpy)란 - 데이터 분석 라이브러리 - Numerical computing with Python, 수칙연산 및 벡터 연산에 최적화된 라이브러리 - 2005년에 만들어졌으며, 100% 오픈소스 - C code로 구현되어 있어, 좋은 성능을 보인다 - N차원 연산에 최적화되어 있다 넘파이(Numpy)를 사용하는 이유 데이터 분석은 벡터 연산을 통해 이루어지며, 벡터 연산을 잘해야 데이터 분석을 잘할 수 있다. 즉, 넘파이는 벡터 연산에 최적화되어 있어서 유용하다 넘파이는 벡터 연산을 빠르게 처리하는 것에 최적화되어 있고, 파이썬 리스트로 구현했을 때보다 더 높은 속도를 보여준다 파이썬은 수치 연산에 매우 약해서, 머신러닝에서 성능 저하로 이어질 수 있으므로, 넘파이를 사용해서 이를 보완한다 넘파..
[파이썬] 힙(Heap) 이란
힙이란? 트리 구조 주에서 완전이진트리를 기반으로 하는 자료구조이다. 힙은 최댓값과 최솟값을 구하는데 유용하다. 만족 조건 1. 자식노드보다 부모노드의 값이 더 커야한다 2. 왼쪽 자식노드보다 오른쪽 자식노드의 값이 더 커야 한다 최소 힙 부모노드의 값이 자식노드의 값보다 항상 작은 힙 최대 힙 부모노드의 값이 자식노드의 값보다 항상 큰 힙 라이브러리(모듈) 불러오기 - heapq 라이브러리는 최소힙(min heap)으로만 동작하기 때문에, 최대힙(max heap)으로 활용하려면 요령이 필요하다. - 즉, 일반적으로는 최소힙으로 생각하면 된다 import heapq 리스트를 힙으로 바꾸기 - .heapify(list) 사용하기 list1 = [1, 2, 3, 4] heapq.heapify(list1) p..
[파이썬] 데이터 타입(Data Type) 종류
틀린 부분이 있으면 알려주시면 감사하겠습니다. 리스트( list ) - 생성 방법 : [] - 추가, 삭제, 정렬, 뒤집기, 삽입 등 가능 - 인덱싱과 슬라이싱 가능 - 더하기, 곱하기, 길이구하기 등 가능 튜플( tuple ) - 리스트와 유사하지만, 차이점이 있음. - 생성 방법 : ()
[파이썬] 리스트 메소드 모음
필요한 정보는 "ctrl+f"로 검색하시면 됩니다. 추가/삭제/정렬 append(요소) - 리스트 끝에 요소를 추가함 list = [1, 4, 2, 3] print(list) >>> [1, 4, 2, 3] list.append(5) print(list) >>> [1, 4, 2, 3, 5] insert(인덱스, 요소) - 인덱스 위치에 요소를 추가함 list = [1, 4, 2, 3] print(list) >>> [1, 4, 2, 3] list.insert(2, 99) print(list) >>> [1, 4, 99, 2, 3] pop() - 리스트 맨 뒤 요소 삭제 list = [1, 4, 2, 3] print(list) >>> [1, 4, 2, 3] list.pop() print(list) >>> [1,..
[파이썬] 문자열 메소드 모음
찾고자 하는 메소드가 있으시면 이미지를 참고하시고, "ctrl + f"을 이용해서 메소드를 검색해보세요. 수 관련 len() - 문자열의 길이를 출력 - 반환형 : Int string = "python" print(len(string)) >>> 6 min() , max() - 최솟값 또는 최댓값을 찾아서 출력 - 반환형 : Int, String string = "Hello_Python" print(min(string)) >>> H print(max(string)) >>> y int = [ 1, 2, 3, 4, 5 ] print(min(int)) >>> 1 print(max(int)) >>> 5 count() - 문자열 내부에 특정 문자가 등장하는 횟수를 출력 - 반환형 : Int - count( x ) ..