.Setting1234567891011import pandas as pd import numpy as np from pandas import Series, DataFrame from numpy import nan as NA import matplotlib.pyplot as plt %matplotlib qtcs-- .시계열 데이터12345from datetime import datetime # datetime 모듈 안에 datetime 함수 now = datetime.now() # sysdate in oracle, Sysdate in R now.year, now.month, now.dayColored by Color Scriptercs-- .날짜 생성1datetime(2019,2,20) - datetime..
그룹 연산(Group by) - 연산대상.groupby(그룹핑 대상) - groupby의 결과는 Dictionary 형태 - groupby 수행 시 결과는 보여주지 않음 로 그룹핑이 되었다고만 출력 - 분리 -> 적용 -> 결합 : 다른 언어와 다르게 파이썬은 분리(split)까지 동작. 적용과 결합을 위해 연산 메서드를 적용 pd.groupby? pd.groupby(*args, **kwargs) #. 그룹 연산(pd.groupby) sub = pd.read_csv('subway.csv', encoding='cp949') # 노선번호별 승차에 대한 평균 # 방법 1) 일부 컬럼 전달(속도상 유리) sub['승차'].groupby(sub['노선번호']).mean() # 방법 2) 전체(연산 가능한 모든 컬..
정규표현식 (re Module) #. re 모듈import re - 정규식 처리 모듈- 패턴 매칭, 치환, 분리 text = 'lololo' 1. findall 메서드 - re.findall(pattern, string, flags=0) - 패턴과 일치하는 모든 원소 출력 * 주로 사용 - 벡터 연산 불가re.findall('ol', text)['ol', 'ol'] 2. search 메서드 - re.search(pattern, string, flags=0) - 패턴과 일치하는 첫 번째 원소 출력 - 직접 출력 불가 => group 메서드 사용re.search('ol', text)re.search('ol' , text).group(0)'ol' 3. match 메서드- re.match(pattern, str..
참고글 : [Python] Pandas - DataFrame[Python] Pandas - DataFrame 관련 메서드 #. 문자열 분리, 결합, 공백 제거 (.split, .join, .strip)# 문자열 분리 : split메서드pro.EMAIL0 captain@abc.net1 sweety@abc.net...14 napeople@jass.com15 silver-her@daum.netName: EMAIL, dtype: object pro.EMAIL.map(lambda x : x.split('@')) # 벡터 연산 불가0 [captain, abc.net] 1 [sweety, abc.net]...14 [napeople, jass.com]15 [silver-her, daum.net]Name: EMAIL, ..
# 피벗 (.pivot) * 중요 - 데이터 테이블 재배치(구조 변경) - 여러 column을 index, values, columns 값으로 사용 가능 - Group 연산, 테이블 요약, 그래프 등을 위해 사용 - set_index로 계층적 색인 생성 후, unstack 메서드로 형태를 변경하는 과정의 축약형 p1.pivot?p1.pivot(index=None, columns=None, values=None)# index : index 색인으로 사용될 컬럼# columns : column 색인으로 사용될 컬럼# values : value에 채우고자 하는 컬럼 p1 = pd.read_csv('melt_ex.csv') p1.pivot('year','mon') # 멀티인덱스로 생성p1.set_index(['..
import pandas as pd import numpy as np from pandas import Series, DataFrame #. 배열 결합 (np.concatenate)np.concatenate?concatenate((a1, a2, ...), axis=0, out=None) ar1 = np.arange(4).reshape(2,2)array([[0, 1], [2, 3]])np.concatenate([ar1, ar1], axis=1)array([[0, 1, 0, 1], [2, 3, 2, 3]])np.concatenate([ar1, ar1], axis=0)array([[0, 1], [2, 3], [0, 1], [2, 3]]) #. 데이터 프레임 결합 (pd.concat)pd.concat?pd.co..
import pandas as pdimport numpy as npfrom pandas import Series, DataFrame # 데이터 병합(Join) - pandas.mergedf1.merge?df1.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None) # 주요 옵션# how : join 방법 (default는 inner join), - Outer Join은 'outer' / Inner Join은 'inner' / Left Join은..
Multi-index & Multi-column #. 생성 - 인덱스의 개수, 상위 level & 하위 level의 개수가 일치해야 함 - 생성할 일은 많지 않음 :( 1. Series s1 = Series([1,2,3,4,5,6], index=[['a','a','b','b','c','c'], [1,2,1,2,1,2]]) s1a 1 1 2 2 b 1 3 2 4 c 1 5 2 6 dtype: int64 2. DataFrame 생성 후 설정 df1 = DataFrame({'value':[1,2,3,4,5,6], 'ind1':['a','a','b','b','c','c'], 'ind2':[1,2,1,2,1,2]}) df1 = df1.set_index(['ind1','ind2']) # 리스트 형식으로 인덱스에 동..