목록Language/Python (76)
우노
들어가기 앞서, ['1', '2', '3', '4'] 형식의 리스트를 [1, 2, 3, 4] 형식로 변환하고 싶다면, 아래 두 가지 방법을 사용해 변환할 수 있습니다. 예제 코드 str_list = ['1', '2', '3', '4'] # 첫 번째 방법 int_list1 = list(map(int, str_list)) # 두 번째 방법 int_list2 = [int(i) for i in str_list]
들어가기 앞서, Python 은, multiprocessing 모듈을 통해 병렬 처리를 진행할 수 있으며, multiprocessing 모듈의 Pool 과 Process 함수를 통해 병렬처리를 진행할 수 있습니다. 사용 가능 CPU 개수 확인 사용 가능한 CPU 의 개수가 많지 않을 땐, 싱글 프로세스와 멀티 프로세스의 처리 & 응답 시간에서 별 차이가 없을 수 있습니다. 따라서, 아래 코드를 통해 CPU 개수를 미리 파악할 필요가 있습니다. import multiprocessing as mp mp.cpu_count() Pool 을 사용한 병렬 처리 방법 from multiprocessing import Pool # 병렬 처리하고자 하는 작업 def multiply(input_tuple): result ..
예제 DataFrame 생성 import pandas as pd df = pd.DataFrame([[1, 7, 10],[2, 8, 11],[1, 9, 12]], columns=['a','b','c']) df Column ‘a’ 기준으로 정렬 # ascending : True(오름차순), False(내림차순) df = df.sort_values( by=['a'] , ascending=[True] ) df 여러 Column 기준으로 정렬 # ascending : True(오름차순), False(내림차순) df = df.sort_values( by=['a','b'] , ascending=[True, False] ) df
들어가기 앞서, List 또는 Dictionary 를 생성했을 때, 이후 작업에서 해당 데이터의 생성 과정 없이 동일한 데이터를 사용하고 싶다면 pickle 을 통해 데이터 저장 및 불러오기를 할 수 있습니다. List 저장 import pickle list_ex = [1, 2, 3, 4] with open("list_ex.pkl","wb") as f: pickle.dump(list_ex, f)List 불러오기 import pickle with open("list_ex.pkl","rb") as f: list_ex_load = pickle.load(f)
Numpy 배열 저장 import numpy as np numpy_test = np.array([[1, 2], [3, 4]]) print(numpy_test) np.save('./saved_numpy_test', numpy_test) Numpy 배열 불러오기 import numpy as np loaded_numpy_test = np.load('./saved_numpy_test.npy') print(loaded_numpy_test)
Numpy 를 List 로 변환 import numpy as np numpy_test = np.array([1, 2]) list_test = numpy_test.tolist() print(list_test) # [1, 2] List 를 Numpy 로 변환 import numpy as np list_test = [1, 2] numpy_test = np.array(list_test) print(numpy_test) # [1 2]
지역 변수 지역 변수는, 함수 안에 생성되는 변수이며, 함수에서 벗어나는 순간 메모리에서 제거되므로, 외부에서 참조를 할 수 없습니다. 만약, 지역 변수를 외부에서 참조했을 경우에는, 아래와 같은 오류가 발생합니다. def test(): a = 10 print(a) NameError: name 'a' is not defined 전역 변수 전역 변수는, 함수 밖에 생성되는 변수이며, 함수 안에서 참조가 가능하지만, 변경은 하지 못합니다. 만약, 함수 안에서 전역 변수 변경을 시도할 경우, 아래와 같은 결과가 발생합니다. a = 10 def test(): a = 20 test() print(a) 10 함수 안에서 전역 변수를 변경하는 방법 Global 을 사용하면, 함수 안에서도 전역 변수를 ..
들어가기 앞서, DataFrame 은, ‘append’, ‘loc’, ‘iloc’ 를 사용해 행 데이터를 추가할 수 있습니다. 원본 DataFrame import numpy as np import pandas as pd data = {'BatchSize':[1, 2],'Accuracy':[0.5, 0.6]} df = pd.DataFrame(data,index=['First','Second']) df append append 는, DataFrame 마지막 행에 데이터를 추가할 수 있습니다. 하지만, 만약 추가하려는 데이터의 형식이 DataFrame 이 아닌, Dictionary, Series 일 경우, 원본 DataFrame 의 index 형식이 파..
들어가기 앞서, 해당 포스트에서는, batch 단위로 iterable 을 진행하는 generator 코드를 작성해보겠습니다. 예제 코드 def batch(iterable, batch_size=1): l = len(iterable) for ndx in range(0, l, batch_size): # iterable 데이터를 배치 단위로 확인하며, yield iterable[ndx:min(ndx + batch_size, l)] # batch 단위 만큼의 데이터를 반환iterable_data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 데이터 리스트 batch_size = 3 # 배치 사이즈 # iterable 데이터를 배치 단위로 확인하며, batch 단위 만큼의 데이터를 반환 fo..
list.append() 에러 list.append() 시, 1 개의 요소가 아닌 2 개 이상의 요소를 추가하려고 한다면, 형식에 맞지 않으므로 아래와 같은 에러가 발생하게 됩니다. numbers = [] numbers.append(3, 1) TypeError: append() takes exactly one argument (? given) 해결 방법 list 에 여러 요소를 추가하고 싶다면, list.extend() 를 사용해, list 뒤 쪽에 새로운 list 를 붙임으로써 해결할 수 있습니다. numbers = [] numbers.extend([3, 1]) # [3, 1] 참고 https://www.codeit.kr/community/threads/16280 https://m.blog.naver...