본문 바로가기
반응형

전체 글385

[파이썬] 문자열에서 한쪽 공백 제거하는 방법 (strip) 아래와 같은 문자열들이 있다고 합시다. str1=' a' str2='a ' 공백을 제거하고 싶은 상황입니다. 이런 경우 strip 메소드를 사용하면 됩니다. >>> str1.strip() 'a' >>> str2.strip() 'a' 2022. 2. 11.
[파이썬 판다스] 데이터프레임에서 범주형 자료를 수치형으로 바꾸는 방법 데이터프레임으로 범주형 자료를 하나 정의합시다. 여섯 사람의 이름과 각 사람이 사용하는 핸드폰 기종입니다. import numpy as np df = pd.DataFrame({'NAME': ['KSM','LHN','SHN','NKA','POS','YWS'], 'Phone': ['삼성', 'LG', 'LG', '삼성', '애플', '애플']}) >>> df NAME Phone 0 KSM 삼성 1 LHN LG 2 SHN LG 3 NKA 삼성 4 POS 애플 5 YWS 애플 수치형 자료로 바꿀 때는 get_dummy 함수를 사용합니다. 열을 어느 변수를 기준으로 분류할지 결정하기 위해 columns 옵션을 사용합니다. >>> pd.get_dummies(df,columns=['Phone']) NAME Phone.. 2022. 2. 11.
[파이썬 판다스] 데이터프레임에서 임의로 원하는 개수의 행 뽑기 (중복여부 결정) 데이터프레임을 하나 만들어줍니다. import pandas as pd import numpy as np >>> md = pd.DataFrame(np.arange(5 * 5).reshape((5, 5))) >>> md 0 1 2 3 4 0 0 1 2 3 4 1 5 6 7 8 9 2 10 11 12 13 14 3 15 16 17 18 19 4 20 21 22 23 24 행 두개를 임의로 뽑아보겠습니다. sample 메소드를 사용합니다. >>> md.sample(n=2) 0 1 2 3 4 1 5 6 7 8 9 3 15 16 17 18 19 중복을 허용할 경우 replace=True 옵션을 입력하면 됩니다. >>> md.sample(n=3,replace=True) 0 1 2 3 4 3 15 16 17 18 19.. 2022. 2. 9.
[파이썬 넘파이] 랜덤 순열 생성 1,2,3,4,5,6,7 를 나열한 순열 중 랜덤하게 한가지를 뽑는 방법은 아래와 같습니다. import numpy as np >>> np.random.permutation(7) array([5, 0, 1, 4, 3, 2, 6]) 2022. 2. 9.
[파이썬 판다스] 데이터프레임 특정 조건을 만족하는 행만 추리기(any,all) 먼저 데이터를 하나 생성합시다. import pandas as pd import numpy as np md = pd.DataFrame(10*np.random.randn(10, 4)) >>> md 0 1 2 3 0 4.538928 -5.226503 10.369977 6.726804 1 10.371321 6.897509 -9.493601 -21.909799 2 10.575935 -2.771346 7.853494 -1.184277 3 3.363696 -0.878508 2.587997 -8.812833 4 9.401511 33.617850 -12.975039 -8.628830 5 8.581020 18.303396 0.752900 8.202389 6 -0.521181 2.607637 5.511367 21.1723.. 2022. 2. 9.
[파이썬 판다스] 데이터프레임 특정 조건을 만족하는지 확인하기(any, all) 먼저 데이터를 하나 생성합시다. import pandas as pd import numpy as np md = pd.DataFrame(10*np.random.randn(10, 4)) >>> md 0 1 2 3 0 4.538928 -5.226503 10.369977 6.726804 1 10.371321 6.897509 -9.493601 -21.909799 2 10.575935 -2.771346 7.853494 -1.184277 3 3.363696 -0.878508 2.587997 -8.812833 4 9.401511 33.617850 -12.975039 -8.628830 5 8.581020 18.303396 0.752900 8.202389 6 -0.521181 2.607637 5.511367 21.1723.. 2022. 2. 8.
[파이썬 판다스] 값을 구간별로 나누기 (연속형데이터를 범주형으로) 점수를 학점으로 바꿔보는 예제입니다. 변환 기준은 아래와 같습니다. #학점 기준 #[0~70) : D #[70~80) : C #[80~90) : C #[90~100) : D 먼저 데이터를 생성하겠습니다. 학생의 번호와 점수입니다. #데이터 생성 num=list(range(1,11)) score=[78,62,65,94,71,97,57,83,71,96] md=pd.DataFrame({'num':num,'score':score}) >>> md num score 0 1 78 1 2 62 2 3 65 3 4 94 4 5 71 5 6 97 6 7 57 7 8 83 8 9 71 9 10 96 점수를 학점으로 변환해봅시다. 판다스의 cut 함수를 사용합니다. #점수를 학점으로 변환 md['score2']=pd.cut(.. 2022. 2. 8.
[파이썬 판다스] 데이터프레임의 특정 값을 na 로 바꾸기 (replace) 시리즈를 하나 정의합시다. import pandas as pd import numpy as np >>> df1=pd.DataFrame({'C1':[1,2,3],'C2':[10,3,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 3 200 R3 3 30 300 3을 na로 바꾸겠습니다. replace 메소드를 사용합니다. >>> df1.replace(3,np.nan) C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 딕셔너리를 사용하면 여러 쌍의 교체도 가능합니다. 2022. 2. 7.
[파이썬 판다스] 시리즈의 특정 값을 na 로 바꾸기 시리즈를 하나 정의합시다. import pandas as pd import numpy as np sr1=pd.Series([1,2,3,3,4,5]) 3을 na로 바꾸겠습니다. replace 메소드를 사용합니다. >>> sr1.replace(3,np.nan) 0 1.0 1 2.0 2 NaN 3 NaN 4 4.0 5 5.0 dtype: float64 2022. 2. 7.
파이썬 pyinstaller 오류 No module named vtkmodules.vtkFiltersGeneral 파이썬 exe 만들고 실행했더니 아래 오류가 떴다. No module named vtkmodules.vtkFiltersGeneral 아래 모듈을 추가해주니 해결됐다. import vtkmodules import vtkmodules.all 오류 뜨면 오류 뜬거 다 추가하면 결국은 되더라. 2022. 2. 4.
파이썬 모듈 경로 불러올 때는 sys.path.append 이거로 os.chdir 이 아니라 sys.path.append 로 해야한다. os.chdir 는 작업경로를 바꿔주는 것인데, import 경로까지 바꾸지는 않는다. import 경로는 sys.path.append 로 설정해야한다. 예시 import sys sys.path.append('모듈이 있는 폴더 경로') 2022. 2. 4.
파이썬 폴더 생성 방법 원하는 경로에 폴더 생성. import os os.mkdir("경로"+"/"+"폴더이름") 2022. 2. 3.
파이썬 불러온 경로의 바로 위 경로 얻기 아래 경로가 있다고 하자. mypath='C:/Users/Public' 이 경로의 바로 위 경로를 얻기 원할 경우 아래 os 패키지의 path.dirname 함수를 이용하면 된다. >>> import os >>> os.path.dirname(mypath) 'C:/Users' 2022. 1. 28.
[파이썬 판다스] 데이터프레임에서 매칭된 데이터 추가하기 (map) 판다스를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import pandas as pd df1=pd.DataFrame({'C1':['미국','미국','한국','일본','한국'],'C2':['Javis','John','김','사나','정']}, index=['R1','R2','R3','R4','R5']) >>> df1 C1 C2 R1 미국 Javis R2 미국 John R3 한국 김 R4 일본 사나 R5 한국 정 세번째 열에 국적을 영어로 추가하고 싶습니다. 물론 ['USA','USE','KOREA','JAPAN',KOREA'] 를 직접 정의하여 추가해줄 수도 있지만, 행이 많은 경우는 불편합니다. 편하게 추가하는 방법은 아래와 같습니다. 먼저 매칭을 정의합니다. ENG_NAME={'미국':'U.. 2022. 1. 20.
[파이썬 판다스] 데이터프레임에서 특정 열을 대문자 또는 소문자로 변경하기 판다스를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import pandas as pd df1=pd.DataFrame({'C1':['A','B','C','D'],'C2':['a','b','c','d'],'C3':['A','b','C','d']},index=['R1','R2','R3','R4']) >>> df1 C1 C2 C3 R1 A a A R2 B b b R3 C c C R4 D d d 첫번째 열을 소문자로 바꿔봅시다. str.lower 메소드를 사용합니다. >>> df1['C1'].str.lower() R1 a R2 b R3 c R4 d Name: C1, dtype: object 이번에는 두번째 열을 대문자로 바꿔봅시다. str.upper 메소드를 사용합니다. >>> df1['C2'].st.. 2022. 1. 20.
[파이썬] 딕셔너리를 리스트로 변환 딕셔너리를 하나 정의합니다. >>> dict1={'A':1,'B':2,'C':3} >>> dict1 {'A': 1, 'B': 2, 'C': 3} key를 리스트로 변환해봅시다. >>> list(dict1.keys()) ['A', 'B', 'C'] value를 리스트로 변환해봅시다. >>> list(dict1.values()) [1, 2, 3] 2022. 1. 19.
[파이썬] 폴더 목록 불러오기 아래와 같이 불러옵니다. #폴더 경로 path="경로" #폴더 목록 불러오기 folder_list=os.listdir(path) 2022. 1. 19.
[파이썬 판다스] 데이터프레임에서 중복 행 확인하고 제거하기 판다스를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import pandas as pd df1=pd.DataFrame({'C1':[1,2,3,3],'C2':[10,20,30,30],'C3':[100,200,300,300]},index=['R1','R2','R3','R3']) >>> df1 C1 C2 C3 R1 1 10 100 R2 2 20 200 R3 3 30 300 R3 3 30 300 3,4행이 겹칩니다. 중복행이 있는지 코드로도 확인해봅시다. duplicate 메소드를 사용합니다. >>> df1.duplicated() R1 False R2 False R3 False R3 True dtype: bool 4행이 겹친다고 말해줍니다. 중복행을 제거해봅시다. drop_duplicates 메소드를.. 2022. 1. 19.
[파이썬] 문자열 무제한 입력받고 원하는 구분자로 나눠서 합치는 함수 아래와 같이 만들어줍니다. *input 으로 받아오면 튜플이 생성됩니다. 예를들어 'a','b','c' 를 입력하면 ('a','b','c') 가 되는 것입니다. 튜플을 먼저 리스트로 변환하였고, join 메소드를 이용하여 문자열을 하나로 합쳤습니다. \n 을 문자열 사이에 입력되도록 하였습니다. def make_xml(*input) : l1=list(input) content='\n'.join(l1) return content 예시 >>> print(make_xml('a','b','c')) a b c 2022. 1. 17.
[파이썬] 문자열을 텍스트로 저장하는 방법 저장경로 확인 및 지정 import os #작업경로 확인 os.getcwd() #작업경로 지정 os.chdir('원하는 경로') 텍스트 파일 생성 file = open('myfile.txt', 'w') 텍스트 파일 입력 file.write('원하는 내용') 파일 닫기(저장 완료) file.close() 코드 모아보기 import os #작업경로 확인 os.getcwd() #작업경로 지정 os.chdir('원하는 경로') #텍스트 파일로 저장하기 file = open('myfile.txt', 'w') file.write('원하는 내용') file.close() 2022. 1. 17.
[파이썬] 정수 또는 실수를 문자열로 변환 (float to string) 실수를 하나 정의합니다. f=1.22 문자열로 변환합니다. >>> str(f) '1.22' 2022. 1. 17.
[파이썬] 넘파이 배열을 리스트로 변환 (array to list) 넘파이를 불러옵니다. import numpy as np 배열을 하나 정의합시다. ar1=np.array([[1,2,3],[4,5,6]]) 문자열로 변환합시다. tolist 함수를 사용합니다. >>> np.ndarray.tolist(ar1) [[1, 2, 3], [4, 5, 6]] 또는 tolist 메소드를 사용합니다. >>> ar1.tolist() [[1, 2, 3], [4, 5, 6]] 2022. 1. 17.
[파이썬] 넘파이 배열을 문자열로 변환 (array to string) 넘파이를 불러옵니다. import numpy as np 배열을 하나 정의합시다. ar1=np.array([[1,2,3],[4,5,6]]) 문자열로 변환합시다. array2string 함수를 사용합니다. >>> np.array2string(ar1) '[[1 2 3]\n [4 5 6]]' 2022. 1. 17.
[파이썬 판다스] 데이터프레임에서 결측치를 각 열의 평균값으로 채우기 판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측값을 각 열의 평균으로 채워봅시다. >>> df1.fillna(df1.mean()) C1 C2 C3 R1 1.0 10.0 100 R2 2.0 20.0 200 R3 1.5 30.0 300 2022. 1. 14.
[파이썬 판다스] 데이터프레임에서 결측치를 원하는 값으로 채우기 판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측값을 0으로 채워봅시다. fillna 메소드를 사용합니다. >>> df1.fillna(0) C1 C2 C3 R1 1.0 10.0 100 R2 2.0 0.0 200 R3 0.0 30.0 300 2022. 1. 14.
[파이썬 판다스] 데이터프레임에서 결측치 포함 행 또는 열 제거하기 판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측치가 포함된 행을 제거할 때는 dropna 메소드를 사용합니다. axis=0 옵션이 디폴트이고, 행제거입니다. >>> df1.dropna() C1 C2 C3 R1 1.0 10.0 100 결측치가 포함된 열을 제거 할 때는 axis=1 옵션을 넣어주면 됩니다. >>> df1... 2022. 1. 14.
[파이썬 판다스] 데이터프레임에서 NaN 여부 확인 (True로) 판다스와 넘파이를 불러오고 결측치가 포함된 데이터프레임을 만들어줍니다. import numpy as np import pandas as pd df1=pd.DataFrame({'C1':[1,2,np.nan],'C2':[10,np.nan,30],'C3':[100,200,300]},index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1.0 10.0 100 R2 2.0 NaN 200 R3 NaN 30.0 300 결측치 여부를 확인하는 방법은 판다스의 isnull 함수 또는 메소드를 사용하면 됩니다. #함수사용 >>> pd.isnull(df1) C1 C2 C3 R1 False False False R2 False True False R3 True False False >>> df1.is.. 2022. 1. 14.
[파이썬 판다스] 시리즈 원소 중 NaN 제거 넘파이와 판다스를 불러옵니다. import numpy as np import pandas as pd NaN이 포함된 시리즈를 하나 정의합니다. >>> sr1=pd.Series([1,np.NaN,3,4,5,np.NaN]) >>> sr1 0 1.0 1 NaN 2 3.0 3 4.0 4 5.0 5 NaN dtype: float64 NaN 을 제거할 때는 dropna 함수 또는 메소드를 사용합니다. >>> sr1.dropna() 0 1.0 2 3.0 3 4.0 4 5.0 dtype: float64 2022. 1. 13.
[파이썬 판다스] 시리즈 원소 중 NaN 확인 (isnull) 넘파이와 판다스를 불러옵니다. import numpy as np import pandas as pd NaN이 포함된 시리즈를 하나 정의합니다. >>> sr1=pd.Series([1,np.NaN,3,4,5,np.NaN]) >>> sr1 0 1.0 1 NaN 2 3.0 3 4.0 4 5.0 5 NaN dtype: float64 NaN 여부는 isnull 함수를 사용합니다. >>> pd.isnull(sr1) 0 False 1 True 2 False 3 False 4 False 5 True dtype: bool 또는 isnull 메소드도 가능합니다. >>> sr1.isnull() 0 False 1 True 2 False 3 False 4 False 5 True dtype: bool 2022. 1. 13.
파이썬에서 NaN 확인하는 법 아래 세가지 방법이 있습니다. import math import numpy as np import pandas as pd >>> math.isnan(np.nan) True >>> np.isnan(np.nan) True >>> pd.isnull(np.nan) True 2022. 1. 13.
반응형