본문 바로가기

Python/기타18

[Python] Seaborn 내장데이터 모음 :: iris , titanic 포함 Python의 Seaborn 패키지에는 다양한 내장데이터가 있다. 연습용으로 활용하면 좋을 것 같아서 정리를 해보았다. # Seaborn 패키지 불러오기 import seaborn as sns Seaborn에서 사용할 수 있는 dataset의 목록은 get_dataset_names로 한 번에 알 수 있다. # Seaborn 데이터셋 목록 sns.get_dataset_names() ['anagrams', 'anscombe', 'attention', 'brain_networks', 'car_crashes', 'diamonds', 'dots', 'exercise', 'flights', 'fmri', 'gammas', 'geyser', 'iris', 'mpg', 'penguins', 'planets', 'tip.. 2020. 12. 3.
[Python] 딕셔너리 :: Dictionary 딕셔너리 만들기 fruit = {"사과": [70, 65], "체리": 85, "복숭아": 80} fruit {'복숭아': 80, '사과': [70, 65], '체리': 85} 키 목록 # keys fruit.keys() dict_keys(['사과', '체리', '복숭아']) # 키 목록을 리스트로 list(fruit.keys()) ['사과', '체리', '복숭아'] 값 목록 # values fruit.values() dict_values([[70, 65], 85, 80]) # 값 목록을 리스트로 list(fruit.values()) [[70, 65], 85, 80] 키-값 # key-value fruit.items() dict_items([('사과', [70, 65]), ('체리', 85), ('복숭아.. 2020. 9. 12.
[Scipy.stats] 왜도(Skew) / 첨도 (Kurtosis) from scipy.stats import skew, kurtosis # 왜도 skew(data) # 첨도 kurtosis(data, fisher=True) 왜도 (Skewness) - 분포의 비대칭도. - 정규분포 = 왜도 0 - 왼쪽으로 치우침 = 왜도 > 0 - 오른쪽으로 치우침 = 왜도 0(Pearson 첨도 >3) - 아래로 뾰족함 = 첨도 < 0 (Pearson 첨도 < 3) from scipy.stats import kurtosis # 첨도 kurtosis(data, fi.. 2020. 9. 7.
[Python] Multiprocessing을 이용한 반복문 속도개선 from multiprocessing import Pool # 반복문을 실행할 함수 def func(i): print(i) if __name__=='__main__': st = time.time() pool = Pool(processes=5) pool.map(func, range(0, 100000)) print(time.time()-st) for문으로 수백만건의 연산을 처리하면 정말 수백만초의 시간이 소요된다. multiprocessing을 이용하여 반목문 처리 시간을 줄일 수 있다. 사용 예시 ) from multiprocessing import Pool def day_diff(i): temp = mt_rt[mt_rt['clientId']==mt_cid[i]]['date'] return (temp.va.. 2020. 6. 8.
[chardet] 파일 인코딩을 무엇으로 지정할지 모를 때 :: Encoding Error , Encoding Detector UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte python에서 파일을 불러올 때 인코딩 설정을 제대로 해주지 않으면 파일이 불러와지지 않는다. 이때 무엇으로 인코딩할지 모를 때는 chardet 이용해 인코딩을 감지하면 된다. 설치하기 pip install chardet 탐지할 수 있는 인코딩 방식 ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) EUC-JP, SHIFT_JIS, CP932, IS.. 2020. 5. 6.
[Python] 정규표현식 기본 re :: regular expression 라이브러리 불러오기 import re 메타문자 [ ] 문자클래스 [ ] 사이의 문자들과 매치 - [From - To] ex) [a-zA-Z] = 알파벳 모두 [0-9] = 모든 숫자 \d 숫자 = [0-9] \D 숫자가 아닌 것 = [^0-9] \s 공백 = [ \n\t\r\f\v] \S 공백이 아닌 것 = [^ \n\t\r\f\v] \w 문자+숫자+_ = [a-zA-Z0-9_] \W 문자+숫자+_가 아닌 것 =[^a-zA-Z0-9_] \ 이스케이프 \와 함께 사용하면 일반 문자로 인식된다. . \n를 제외한 모든 문자 . = 모든 문자 [.] []안에 .을 넣을 경우 그냥 '.'으로 인식 [.] = 온점. | or ^ [] 바깥에 있을 경우 문자열의 시작과 매치 re.MULTILINE과 함께 쓰인다면 .. 2020. 4. 17.
[Python] 정규성 검정 :: 히스토그램, Q-Q Plot 1. 히스토그램 import seaborn as sns sns.distplot(train['SalePrice']) distplot으로 그래프를 그렸을 때, 종모양의 정규분포을 띄어야 정규성을 만족한다. 2. Q-Q plot import scipy.stats as stats stats.probplot(col, plot=plt) 빨간선에 가까울 수록 정규성을 만족한다. 3. 왜도 & 첨도 from scipy.stats import skew, kurtosis # 왜도 skew() # 첨도 kurtosis(data, fisher=True) 정규분포일 경우 왜도 = 0 / 첨도 = 0 왜도 0 : 오른쪽으로 길게 늘어짐 첨도 0 : 뽀족한 모양 2020. 4. 7.
[Python] 예외처리 :: try~except 코드를 작성하다보면 예기치못한 오류를 마주할 수 있다. 이때 오류에 대한 적절한 대응, 예기지 못한 상황을 피하기 위한 방안을 try ~ except를 사용할 수 있다. 1. 기본 예외처리 try: 시도 할 코드 except: 예외가 발생했을 때 2. 예외 지정하기 try: 시도 할 코드 except IndexError: print('인덱스 오류입니다.') try: 시도 할 코드 except Exception as exp: print(exp) # Error가 뭔지 나타나게 3. 예외 없이 끝났을 때 try: 시도 할 코드 except: 예외가 발생했을 때 else: 예외가 발생하지 않았을 때 실행할 코드 4. 예외 여부와 관계없이 실행되는 코드 try: 시도 할 코드 except: 예외가 발생했을 때 e.. 2020. 4. 6.
[Python] 쥬피터 노트북 경고(warnings)가 나오지 않게 하는 법 파이썬에서 경고가 나오지 않게 하는 법 import warnings warnings.filterwarnings(action='ignore') 쥬피터에서 이런 경고가 나오지 않게 해준다. 2020. 3. 20.
[Python] 문자열을 딕셔너리로 만들기 문자열(str, object)를 딕셔너리(dictionary)로 만드는 방법 from ast import literal_eval x = "{'red':['apple', 'strawberry'], 'yellow':['banana', 'lemon']}" # Example literal_eval(x) # 문자열 → 딕셔너리 2020. 3. 20.