본문 바로가기
반응형

컴퓨터/Python31

[Python] 파이썬, threading 간단 예제 파이썬을 이용하며, 속도를 개선하기 위한 방법으로 병렬처리를 할 수 있습니다. 1. threading 모듈 import threading def print_numbers(n, m): for i in range(n, m): print(i) threads = [] for i in range(10): t = threading.Thread(target=print_numbers, args=(i, 11)) t.start() threads.append(t) for t in threads: t.join() threading 모듈은 스레드 기반, multiprocessing 모듈은 프로세스 기반으로 동작합니다. 따라서, 속도 차이가 발생할 수 있습니다. 일반적으로, CPU 바운드 작업(계산)은 multiprocessin.. 2023. 3. 27.
[Python] 파이썬, multiprocessing 간단 예제 파이썬을 이용하며, 속도를 개선하기 위한 방법으로 병렬처리를 할 수 있습니다. 병렬처리는 여러 개의 CPU 코어를 사용하여 동시에 작업을 처리하는 방법입니다. 1. Pool import multiprocessing def calculate(a, b, c): return a * b + c if __name__ == '__main__': # 입력 값 리스트 생성 input_list = [(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, 12)] # 프로세스 풀 생성 pool = multiprocessing.Pool(processes=4) # 병렬 처리를 위한 map 메서드 호출 output_list = pool.starmap(calculate, input_list) # 프로세스 풀 .. 2023. 3. 27.
[Python] 파이썬, A value is trying to be set on a copy of a slice from a DataFrame 경고 경고명: A value is trying to be set on a copy of a slice from a DataFrame 원인: Pandas 데이터프레임에서 일부 데이터를 선택하여 슬라이스(slice)한 후에 그 슬라이스의 사본(copy)에 값을 할당하려고 할 때 경고됩니다. import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) subset = df.loc[:, 'A'] subset[0] = 0 subset은 df의 일부분인 사본(copy)이기 때문에 실제 데이터인 df에는 영향을 미치지 않습니다. 해결법: 방법1. 실제 데이터인 df를 직접 수정합니다. import pandas as pd df = pd.DataFrame({.. 2023. 3. 26.
[Python] 파이썬, sqlite3 사용하기 1. DB 저장 import sqlite3 import pandas as pd con = sqlite3.connect('저장할 데이터베이스이름.db') # 임의 데이터 data = {'col0':[0,1,2,3,4],'col1':[0,10,20,30,40]} # 데이터프레임 생성 df = pd.DataFrame(data) # 데이터프레임을 SQL로 df.to_sql('테이블이름', con, if_exists='append') """ 옵션: if_exists: SQL에 테이블이 이미 존재할 경우, fail, replace, append 중 선택 [기본값:fail] index: index를 추가할지 [기본값:True] 등등 """ 2. DB 불러오기 con = sqlite3.connect('저장한 데이터베이.. 2023. 3. 23.
반응형