본문 바로가기
반응형

전체 글385

[파이썬] 리스트 원소를 랜덤하게 썪는 방법 (random.shuffle) 아래와 같은 리스트가 있습니다. a=[1,2,3,4,5,6,7,8,9,10] 순서를 랜덤하게 섞어봅시다. random 패키지의 shuffle 함수를 사용합니다. >>> import random >>> random.shuffle(a) >>> a [5, 8, 1, 2, 4, 9, 3, 6, 10, 7] 리스트 a가 랜덤하게 섞인 것을 알 수 있습니다. 2023. 5. 2.
[파이썬] 리스트의 마지막 요소를 삭제하고 반환 (pop) 아래와 같은 리스트가 있습니다 . a=[1,2,3,4,5] pop 메소드를 아무 입력값 없이 사용하면 리스트의 마지막 값을 제거하며 반환합니다. >>> a.pop() 5 마지막 값이 제거되었나 확인해봅시다. >>> a [1, 2, 3, 4] 2023. 5. 2.
[파이썬] 커멘드 창에서 파이썬 버전 선택하는 방법 컴퓨터에 파이썬 여러 버전이 설치되어 있는 경우가 있습니다. 예를 들어 3.7 과 3.10이 설치 되어 있다고 합시다. 비주얼스튜디오 코드에서는 3.10을 쓰고 있는데, 커멘드창에서 파이썬 버전을 확인해보니 3.7입니다. 이때 pip install 로 패키지를 설치하면 3.7에 설치가 됩니다. 3.10에 설치하고 싶은 경우 해결방법입니다. 1) 내컴퓨터 우클릭 후 속성 2) 고급 시스템 설정 클릭 (시스템 속성 창 뜸) 3) 고급 탭에서 환경변수 클릭 4) 사용자 변수에서 Path 를 찾고 편집 클릭 5) 원하는 파이썬 버전의 경로를 가장 위로 이동시킴 2023. 5. 2.
[파이썬] 커멘드 창에서 파이썬 버전 확인하는 방법 1) 윈도우키 + R 버튼을 눌러서 실행 창을 엽니다. 2) cmd를 입력하고 확인을 클릭합니다. 3) 커멘드 창이 열리면 python -V 라고 입력합니다. 2023. 5. 2.
파이썬 for문 순서 거꾸로 하는 법 (for문 뒤에서 부터) for문은 보통 range 함수와 사용하므로, range 함수사용 시 순서 거꾸로 하는 법을 설명하겠습니다. reversed 함수를 사용하면 됩니다. for i in reversed(range(5)): print(i) 2023. 1. 17.
[파이썬 판다스] 데이터프레임 인덱스 리셋하는 법 데이터 프레임 이름을 df 라고 하면 아래와 같이 인덱스를 리셋합니다. df=df.reset_index(drop=True) 위와 같이 리셋 결과를 df에 다시 입력해주어야 합니다. 2023. 1. 17.
파이썬 spyder 에서 matplotlib 그래프를 새 창에 열기 Tools -> Preference 에서 아래와 같이 설정합니다. 2023. 1. 16.
[파이썬 판다스] 데이터프레임 열 이름 출력하는 법 데이터 프레임 이름을 df 라고 한다면, df.columns 를 입력하면 모든 열 이름이 출력됩니다. df.columns 인덱싱도 가능합니다. #첫번째 열 제목에 접근 df.columns[0] 2022. 11. 18.
파이썬 데이터프레임 평균 열 추가 데이터프레임을 하나 정의합시다. data={ 'A':[1,2,3], 'B':[10,20,30], 'C':[100,200,300] } df=pd.DataFrame(data) 데이터프레임을 실행해봅시다. >>> df A B C 0 1 10 100 1 2 20 200 2 3 30 300 평균 열을 추가하는 방법은 아래와 같습니다. 열 이름을 avg라고 놓겠습니다. df['avg']=df.mean(axis=1) 결과는 아래와 같습니다. >>> df A B C avg 0 1 10 100 37.0 1 2 20 200 74.0 2 3 30 300 111.0 2022. 10. 27.
[파이썬] 클래스와 객체지향 정말 쉽게 이해하기 클래스와 객체지향 프로그래밍 클래스는 리스트나 딕셔너리 처럼 데이터를 편하게 관리하기 위해 고안된 도구입니다. 그 성능이 워낙 강력해서 패러다임이 등장하기까지 했습니다. 클래스를 이용하여 프로그래밍하는 패러다임을 '객체지향 프로그래밍'이라고 합니다. 물론 클래스를 이용해야만 객체지향프로그래밍이 되는 것은 아닙니다. 객체지향은 더 포괄적인 개념이긴 한데, 좁은 의미로 쉽게 이해하면 클래스를 이용한 프로그래밍이라고 할 수 있습니다. 객체 지향 프로그램 = 클래스를 이용한 프로그래밍 넓은 의미의 객체지향 프로그래밍은 모든 것을 '객체'로 보고 프로그래밍 하겠다는 것입니다. 프로그래밍을 객체와 객체의 상호작용으로 생각하는 것입니다. 뭐든 넓은 의미는 이해가 어렵습니다. 백터의 좁은 의미가 '크기와 방향을 가진 .. 2022. 10. 1.
[파이썬] 라디안을 도로 도를 라디안으로 라디안과 도(degree)의 관계는 아래와 같습니다. $1(radian)=\frac{180^{\circ}}{\pi}$ $1^{\circ}=\frac{\pi}{180}(rad)$ 예제 30도를 라디안으로 바꾸기 >>> 30*math.pi/180 0.5235987755982988 1.5라디안을 도로 바꾸기 >>> 1.5*180/math.pi 85.94366926962348 2022. 6. 27.
[파이썬] 파이(원주율) math 모듈 >>> import math >>> math.pi 3.141592653589793 numpy 모듈 >>> import numpy as np >>> np.pi 3.141592653589793 2022. 6. 27.
[파이썬] 삼각함수 (numpy 모듈) 모듈 불러오기 import numpy as np 함수 사인 np.sin(라디안) 코사인 np.cos(라디안) 탄젠트 np.tan(라디안) 예시 사인 30도 >>> np.sin(math.pi/6) 0.49999999999999994 코사인 60도 >>> np.cos(math.pi/3) 0.5000000000000001 탄젠트 45도 >>> np.tan(math.pi/4) 0.9999999999999999 2022. 6. 27.
[파이썬] 삼각함수 (math 모듈) 모듈 불러오기 import math 함수 사인 math.sin(라디안) 코사인 math.cos(라디안) 탄젠트 math.tan(라디안) 예시 사인 30도 >>> math.sin(math.pi/6) 0.49999999999999994 코사인 60도 >>> math.cos(math.pi/3) 0.5000000000000001 탄젠트 45도 >>> math.tan(math.pi/4) 0.9999999999999999 2022. 6. 27.
비주얼 스튜디오 코드 Ctrl+v 안먹힐때 1) CTRL + SHIFT + P 를 입력하고 Keyboard Shorcuts 실행. 2) 검색창에 editor.action.clipboardPasteAction 입력 3) Keybinding 부분을 Ctrl+v 로 수정 2022. 5. 23.
pip은 내부 또는 외부 명령 오류 해결 방법 pip.exe 가 있는 경로를 찾아줍니다. C드라이브에서 pip.exe 검색하면 됩니다. 제 경우는 아래 경로입니다. C:\Users\SERVER2\AppData\Local\Programs\Python\Python38\Scripts 환경변수 창을 열고 시스템 변수에 위 경로 추가해주면 됩니다. 2022. 5. 23.
[파이썬] 리스트 각 원소에 원하는 함수 적용하기 (map) 리스트의 각 원소에 원하는 함수를 적용하는 방법입니다. 아래와 같은 형식으로 사용합니다. list(map(함수이름,리스트이름)) 아래는 리스트 각 원소를 실수로 바꾸는 방법입니다. >>> mylist=['1.3','5.5','1.2e7'] >>> list(map(float,mylist)) [1.3, 5.5, 12000000.0] 2022. 5. 23.
[파이썬] 문자열이 정수인지 확인하는 방법 '32' 와 같이 정수가 문자열로 표현된 경우가 있습니다. 문자열이 정수인지 확인하는 방법은 아래와 같습니다. str.isdigit 함수를 사용합니다. >>> s1='hi' >>> s2='123' >>> str.isdigit(s1) False >>> str.isdigit(s2) True 2022. 5. 23.
[파이썬] 리스트가 비어있는지 확인하는 방법 비어있는 리스트를 하나 정의합시다. mylist=[] 1) 길이가 0인지 확인 >>> len(mylist)==0 True 2) not 연산자 사용 리스트가 비어 있을 경우 not 연산자의 결과가 True >>> not mylist True 2022. 5. 20.
[파이썬] 문자열로 된 리스트를 정수 또는 실수로 변환 문자열 리스트를 정수로 변환 아래와 같이 정수가 문자열로 표현되어 있는 리스트가 있습니다. data=['1','2','3','7'] 원소를 정수로 바꿀 때는 map 함수를 사용합니다. >>> data_r = list(map(int, data)) >>> data_r [1, 2, 3, 7] 문자열 리스트를 실수로 변환 아래와 같이 실수가 문자열로 표현되어 있는 리스트가 있습니다. data=['1.4','2.6','3.6','7.7'] 원소를 실수로 바꿀 때는 map 함수를 사용합니다. >>> data_r = list(map(float, data)) >>> data_r [1.0, 2.0, 3.0, 7.0] 2022. 5. 20.
[파이썬] 폴더목록 불러와서 텍스트로 저장하기 아래 코드입니다. 설명은 주석으로 대신합니다. import os import pandas as pd #폴더 경로 path="폴더 경로" #폴더 목록 불러오기 folder_list=os.listdir(path) #폴더목록 데이터프레임으로 변환 md=pd.DataFrame({'name':folder_list}) #저장경로 지정 os.chdir('저장경로') #저장하기 md.to_csv('my_folder_list.csv') 2022. 3. 17.
[파이썬 판다스] 데이터 프레임 합치기 (열 이름 같은 경우) 열 이름이 같은 데이터 프레임을 두개 정의합시다. import pandas as pd #데이터프레임 생성 df1=pd.DataFrame({'name':['Kim','Park','Lee'],'height':[177,175,166]}) df2=pd.DataFrame({'name':['Chun','Kang','Choi'],'height':[156,182,158]}) 각 데이터프레임은 아래와 같습니다. >>> df1 name height 0 Kim 177 1 Park 175 2 Lee 166 >>> df2 name height 0 Chun 156 1 Kang 182 2 Choi 158 두 데이터프레임을 합칠 때는 concat 함수를 사용합니다. df_total=pd.concat([df1,df2]) >>> df_.. 2022. 3. 10.
[파이썬 판다스] 빈 데이터프레임 만들고 행 하나씩 추가하기 아래와 같이 빈 데이터프레임을 만들어봅시다. 열 이름만 정의해줍니다. import pandas as pd mydf=pd.DataFrame(columns=['x','y']) 첫 행을 추가해봅시다. 5,5 를 추가하겠습니다. >>> mydf.loc[0]=[5,5] >>> mydf x y 0 5 5 둘째 행을 추가해봅시다. 1,7 을 추가하겠습니다. >>> mydf.loc[1]=[1,7] >>> mydf x y 0 5 5 1 1 7 2022. 3. 7.
파이썬 경로에서 마지막 부분만 얻는 방법 파이썬 경로에서 마지막 부분맏 얻는 방법입니다. import os os.path.basename(경로) 2022. 2. 25.
[파이썬 판다스] 시리즈에서 데이터를 분할표로 만들기 (unstack) 독립변수가 2개이고, 종속변수는 1개인 데이터를 하나 정의합시다. 독립변수는 지역, 성별이고 종속변수는 인구수 입니다. import pandas as pd import numpy as np #데이터 생성 sr1=pd.Series([50,50,30,30,20,20], index=[['서울','서울','경기','경기','제주',"제주"],['남자','여자','남자','여자','남자','여자']]) >>> sr1 서울 남자 50 여자 50 경기 남자 30 여자 30 제주 남자 20 여자 20 dtype: int64 위 데이터를 분할표로 만들 때는 unstack 메소드를 사용하면 됩니다. >>> sr1.unstack() 남자 여자 경기 30 30 서울 50 50 제주 20 20 자료형을 확인해봅시다. 데이터프레.. 2022. 2. 24.
[파이썬 판다스] 시리즈에서 인덱스 여러 층으로 정의하기 (계층적 인덱스) 독립변수가 두개 이상인 자료를 표로 정리해야하는 경우가 있습니다. 예를들어 독립변수가 거주지, 성별이고 종속변수가 인구 수인 경우를 생각해봅시다. 독립변수 : 거주지, 성별 종속변수 : 인구 수 표로 정리하면 아래와 같습니다. 파이썬 시리즈에서 위 표를 정의해봅시다. import pandas as pd import numpy as np #데이터 생성 sr1=pd.Series([50,50,30,30,20,20], index=[['서울','서울','경기','경기','제주',"제주"],['남자','여자','남자','여자','남자','여자']]) 인덱스를 2차원 리스트로 정의하면 됩니다. 결과는 아래와 같습니다. >>> sr1 서울 남자 50 여자 50 경기 남자 30 여자 30 제주 남자 20 여자 20 dt.. 2022. 2. 24.
[파이썬] 글에서 이메일 주소 추려내기 (정규표현식) 먼저 정규표현식 패키지인 re 패키지를 불러옵니다. import re 텍스트에서 이메일을 추려내는 방법은 아래와 같습니다. #텍스트 text="e mail address : aaa@naver.com bbb@google.com ccc@daum.net " #패턴 설정 pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}' #컴파일 (IGNORECASE는 대소문자 구분 안한다는 의미) regex = re.compile(pattern, flags=re.IGNORECASE) #이메일 주소만 추리기 regex.findall(text) 2022. 2. 16.
[파이썬] 문자열에서 특정 문자를 다른 문자로 바꾸기 (replace) 문자열을 하나 정의합시다. >>> str="aaaabbccc" a를 k 로 바꿔봅시다. replace 메소드를 사용합니다. >>> str.replace('a','k') 'kkkkbbccc' 2022. 2. 14.
[파이썬] 문자열 리스트를 원하는 구분기호 넣어 합치기 (join) 아래와 같이 문자열을 원소로 갖는 리스트가 있습니다. li=['a','b','c','d'] 구분기호 //를 넣어 하나로 합쳐봅시다. >>> "//".join(li) 'a//b//c//d' 2022. 2. 11.
[파이썬] 문자열 구분기호로 리스트 변환할 때 공백 없애는 법 아래와 같이 콤마로 구분된 문자열이 있습니다. str='a,b,c,d, e' >>> str 'a,b, c,d, e' 구분기호로 분리하여 리스트로 만들 때는 split 메소드를 이용하면 됩니다. >>> str.split(',') ['a', 'b', ' c', 'd', ' e'] 이때 공백이 포함되는데요. 아래와 같이 for문을 이용하여 각 원소에 포함된 공백을 제거할 수 있습니다. >>> [x.strip() for x in str.split(',')] ['a', 'b', 'c', 'd', 'e'] x대신 다른 문자를 사용해도 결과는 같습니다. 임의의 변수명입니다. >>> [i.strip() for i in str.split(',')] ['a', 'b', 'c', 'd', 'e'] 2022. 2. 11.
반응형