Python: 75개의 글
| 파이썬 카테고리 타입 및 cut을 이용한 범위 나누기 파이썬에서는 데이터프레임(DataFrame)을 이루는 시리즈(Series) 타입 자료구조를 카테고리 타입(Category Type)으로 캐스팅하여 데이터 분석에 용이하게 쓸 수 있도록 할 수 있습니다. 또한 cut 메서드를 사용하여 데이터를 특정한 값의 범위로 나누어 그룹화하는 것도 가능합니다. 아래는 그에 대한 예제를 모아놓은 것입니다. import pandas as pd import numpy as np df = pd.DataFrame(['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D'], index=['excellent', 'excellent', 'excellent', 'good', ..
| 파이썬 집계함수 groupby groupby는 SQL 문의 group 처럼 어느 특정 컬럼을 묶어 그에 대한 집계연산을 지원하는 함수입니다. 데이터프레임에서 인덱스 혹은 컬럼에 대하여 그 컬럼을 기준으로 그룹을 묶고 난 후 sum 이나 avg 같은 집계 함수를 통해 원하는 데이터를 추출 할 수 있습니다. 다음은 groupby에 대한 예제를 정리한 것입니다. import pandas as pd import numpy as np df = pd.read_csv('census.csv') # SUMLEV이 50인 데이터를 데이터프레임에서 추출 df = df[df['SUMLEV']==50] print(df) ''' SUMLEV REGION ... RNETMIG2014 RNETMIG2015 1 50 3 ... 2..
| 판다스 관용 해법(Idiomatic Pandas) 판다스(Pandas)에서는 데이터 프레임을 통한 데이터 처리를 좀 더 수월하게 할 수 있도록 판다스만의 솔루션을 지원합니다. 이것을 관용 해법(Idiomatic Pandas)이라 말하고 Pandorable한 코드라고 판다스 커뮤니티에서는 이야기합니다. 마치 파이썬에서도 다른 언어에서는 볼 수 없는 파이썬 만의 독특한 처리방식이 있는 것처럼 판다스도 고유의 처리방법을 지원하는 거라 생각하시면 될 것 같습니다. 관용 해법은 높은 성능과 가독성을 동시에 지니고 있습니다. 이 방식을 채택하여 보통 파이썬언어가 지원하는 방식보다 간결하고 깔끔한 코드로 데이터를 처리하는 것이 가능해집니다. | 판다스 관용해법 예제(Idiomatic Pandas Example) ..
| 데이터 프레임 조인하기(DataFrame Join) 판다스(Pandas)에서는 데이터 프레임간에 SQL문의 테이블 간 조인 연산처럼 데이터 프레임을 합칠 수 있는 기능을 지원합니다. 아래 그림에 나와있는 모든 조인 연산을 지원합니다. | 데이터 프레임 조인 예제(DataFrame Join Example) import numpy as np import pandas as pd df = pd.DataFrame([{'Name': 'Chris', 'Item Purchased': 'Sponge', 'Cost': 22.50}, {'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': 2.50}, {'Name': 'Filip', 'Item Purchased': 'S..
| 파이선 판다스(Python Pandas) 파이썬 판다스(Python Pandas)는 파이썬 언어로 데이터를 분석하기 위한 쉽게하기 위한 자료구조 및 기능들을 제공하는 패키지입니다. 판다스가 제공하는 여러 기능들을 통해서 데이터 분석 과정 중 가장 까다로운 작업 중 하나인 데이터 전처리를 보다 쉽게할 수 처리할 수 있습니다. | 파이썬 시리즈(Python Series) 파이썬 시리즈(Python Series)는 판다스의 중요 자료구조 중 하나입니다. 시리즈는 인덱스와 그와 짝지어진 데이터로 이루어져 있습니다. 다음은 시리즈 자료구조를 이용한 예시들입니다. import pandas as pd an..
| 파이썬 넘파이(Python Numpy) 파이썬 넘파이(Numpy)는 파이썬에서 배열과 행렬들을 효율적으로 다룰 수 있게 해 주는 패키지로서 데이터 정보학계에서 광범위하게 쓰입니다. | 파이썬 넘파이로 배열 및 행렬 만들기(Python Numpy Array, Matrix) 다음은 넘파이에 대한 여러 예제입니다. import numpy as np mylist = [1,2,3] # numpy array로 바구기 x = np.array(mylist) print(x) # array([1, 2, 3]) y = np.array([4,5,6]) print(y) # array([4, 5, 6]) m = np.array([7,8,9], [10,11,12]) # 행렬 만들기 print(m) '''[[ 7 8 9] [10..
| 람다(lambda)란? 람다(lambda)는 익명함수를 지칭하는 용어입니다. 그렇다면 익명 함수란 무엇일까요? 함수지만 기존의 함수 선언 문법과 달리 함수를 명명하지 않고도 정의할 수 있는 함수입니다. 기존의 프로그래밍 패러다임에서는 함수에 꼭 이름을 명시해야 했습니다. 다음과 같이요. def example_plus(a, b): return a + b print(example_plus(4,2)) 6 파이썬에서는 위 함수의 이름을 명시하지 않고도 다음과 같이 이름 없는 함수를 만들 수 있습니다. lambda a, b : a + b 위의 식을 이용해 def 키워드를 쓰지 않아도 lambda로 만든 함수를 변수에 할당해 사용할 수 있습니다. 이것은 파이썬에서의 함수가 일급함수이기 때문에 가능한 것입니다. ..
| 파이썬 날짜 처리 ( Python Dates and Times ) 파이썬에서는 datetime과 time 라이브러리를 통해 날짜 관련 처리를 합니다. 다음은 datetime과 time 라이브러리를 관련 예제입니다. import datetime as dt import time as tm print(tm.time()) # 1970년 1월 1일부터 흐른 초 dtnow = dt.datetime.fromtimestamp(tm.time()) # timestamp 형식 포맷 print(dtnow) print(dtnow.year, dtnow.month, dtnow.day) # 연 단위부터 초단위까지 데이터 접근 가능 print(dtnow.hour, dtnow.minute, dtnow.second) delta = d..
| 파이썬 딕셔너리 ( Python Dictionary ) 파이썬 딕셔너리는 key, value 한 쌍의 데이터를 모아넣는 자료구조입니다. 전화번호부에서 이름 - 전화번호 또는 아이디 - 비밀번호 와의 관계와 같습니다. 이런 구조를 전산학에서는 Hash라고 합니다. 다음은 딕셔너리에 관련된 예제입니다. x = {'Christopher Brooks': 'brooksch@umich.edu', 'Bill Gates': 'billg@microsoft.com'} print(x) print(x['Christopher Brooks']) # 키를 통한 데이터 접근 print(x.get('Christopher Brooks')) # 키를 이용한 값이 없을 경우 None 값 반환 print(x.get('saelobi')) ..
| 파이썬 문자열(Python String) 처리 파이썬 문자열은 다음과 같이 간단하게 나타낼 수 있고 각 문자열의 부분문자열이나 문자등은 인덱스와 : 로 표현하는 슬라이스(slice) 문법으로 접근할 수 있습니다. x = 'This is a string' print(x[0]) #first character print(x[0:1]) #first character, but we have explicitly set the end character print(x[0:2]) #first two characters print(x[-1]) # last character print(x[-4:-2]) # equals to x[12:14] print(x[:3]) # substring below index 3 print(..