Python에서 Class 내 global 선언 위치를 다룹니다. 2023. 1. 17 최초작성 스레드 내에서 전역변수를 수정할 일이 생겨서 사용하려고 했는데 global을 클래스내 어디에 선언해야 할지 모르겠더군요. 찾아보니 전역변수를 사용할 메소드 내에 선언하면 된다고 하네요. 아래 코드의 경우에는 run 메소드내에 global을 선언했습니다. 아래 예제코드는 전역 변수 i를 스레드에서 수정하는 코드입니다. import threading class Count(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): global i while i > 0: print(i) i = i - 1 print('thr..
Python 3.10에서 추가된 C/C++의 switch case와 유사한 match case 예제입니다. 2022. 11. 4 최초작성 match문에 있는 변수 input의 값이 case 문에 있는 조건을 만족하면 해당 코드가 실행됩니다. case 문에 값이 지정되지 않은 경우는 _를 사용한 case 문에 있는 코드가 실행됩니다. def f(input): match input: case 'apple': print('사과') case 'banana': print('바나나') case _: print('선택된 것이 없습니다.') f('apple') f('orange') 사과 선택된 것이 없습니다. | 를 사용하여 두가지 이상의 조건을 하나의 case 문에 추가할 수 있습니다. 다음 예제에서는 input이 ..
스레드가 종료되거나 죽었다면 다시 스레드를 실행시켜주는 파이썬 예제 코드입니다. 2023. 1. 28 최초작성 참고 https://blog.naver.com/ytlee64/222832101970 import threading def func(): for i in range(5): print(f'##### thread print {i}') print('##### thread exit #####') t = threading.Thread(target=func) t.start() # 스레드 재시작을 2번 반복합니다. try_num = 2 while True: if try_num == 0: break # 스레드가 살아있는지 체크 if t!=None and t.is_alive(): #print('thread ali..
“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 열 이름의 위치가 맞지 않으니 실행하여 결과에서 확인하세요. 2022. 02. 02 최초작성 결측치는 입력이 안되는 등의 이유로 데이터가 있어야 할 위치에 값이 없는 경우를 의미합니다. Pandas에서는 결측치를 np.nan로 나타내며 기본적으로 연산에서 사용하지 않습니다. 자세한 내용은 아래 링크를 참고하세요. https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html#missing-data import numpy as np import p..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 열 이름의 위치가 맞지 않으니 실행하여 결과에서 확인하세요. 2022. 02. 02 최초작성 CSV 다음 내용으로 test.csv라는 파일을 작성합니다. 첫줄에 있는 컬럼 헤더에 공백이 없도록 주의하세요. Pandas에서 로드후 공백이 포함된 이름이 됩니다. id,alphabet 1,a 2,b 3,c 4,d 5,e 다음 코드로 csv 파일 로드 및 저장을 테스트합니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.rea..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 matplotlib와 함께 사용하여 그래프를 그릴 수 있습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt t = np.arange(0, 1000) y = pd.DataFrame(2*np.cos(2*np.pi/180*t), index=t) # 다음 두 가지 방식으로 그래프를 그릴 수 있습니다. #plt.plot(y, c='green') y.plot(c='green') plt.title('signal'..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 3. 20 샘플링 특정 주기로 샘플링된 데이터를 원하는 주기로 리샘플링을 할 수 있습니다. import numpy as np import pandas as pd # 2022년 1월 1일 0시 0분 0초부터 1초 간격으로 20개를 생성합니다. rng = pd.date_range("1/1/2022", periods=20, freq="S") print(rng) print('\n\n') # 앞에서 생성한 시간정보를 인덱스로 하여 0 ~ 10 사이의 숫자를 20개 생성합니다. ts..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 03. 20 연결하기 concat 메소드를 사용하여 열방향으로 DataFrame을 연결합니다. import numpy as np import pandas as pd df1 = pd.DataFrame(np.arange(8).reshape(2,4)) print(df1.shape) print(df1) print() df2 = pd.DataFrame(np.arange(8,16).reshape(2,4)) print(df2.shape) print(df2) print() df3 = p..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 02. 02 최초작성 2022. 03. 20 DataFrame이나 Series에 저장된 데이터에 대해 특정 연산을 수행하는 예제들입니다. 행 또는 열을 기준으로 평균을 구합니다. import numpy as np import pandas as pd dates = pd.date_range("20220101", periods=6) df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD")) print(df) print() # 열을 기..

“10 minutes to pandas” 문서를 따라해보며 작성했습니다. https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 2022. 1. 30 최초작성 2022. 3. 19 head에 지정한 개수만큼 DataFrame 상단의 행을 볼 수 있습니다. 디폴트 값은 5입니다. 여기에선 3으로 지정하고 있습니다. import numpy as np import pandas as pd df = pd.DataFrame(np.random.randn(20, 2), columns=list("AB")) print(df.head(3)) tail에 지정한 개수만큼 DataFrame 하단의 행을 볼 수 있습니다. 디폴트 값은 5입니다. 여기에선 3으로 지정했..