반응형
Python/Python 예제 코드2021. 10. 4. 17:45Python - CSV 파일을 순서 유지한채 무작위로 샘플링하여 두 개의 CSV 파일로 분할하기

CSV 파일을 읽어 순서 유지한채 무작위 샘플링하여 2개의 CSV 파일로 저장하는 예제입니다. Pandas를 사용하여 구현하였습니다. 테스트에 사용한 CSV 파일입니다. 주의할점은 csv 파일에 필드를 설명하는 헤더가 꼭 있어야 합니다. 여기에선 typeA, typeB입니다. typeA, typeB AA1,BB1 AA2,BB2 AA3,BB3 AA4,BB4 AA5,BB5 AA6,BB6 AA7,BB7 AA8,BB8 AA9,BB9 AA10,BB10 AA11,BB11 AA12,BB12 AA13,BB13 AA14,BB14 AA15,BB15 AA16,BB16 AA17,BB17 AA18,BB18 AA19,BB19 AA20,BB20 AA21,BB21 AA22,BB22 AA23,BB23 AA24,BB24 AA25,BB2..

Python/Numpy2021. 10. 4. 14:36NumPy reshape에 -1을 사용하는 이유

NumPy reshape에 -1을 사용하는 이유는 shape에서 -1로 지정한 차원은 알아서 계산되게 하기 위해서입니다. 2021. 10. 4. 최초작성 >>> import numpy as np 크기 6인 1차원 배열을 생성합니다. >>> a = np.array([1, 2, 3, 4, 5, 6]) >>> a array([1, 2, 3, 4, 5, 6]) >>> a.shape (6,) 두번째 차원을 2로 지정하고 첫번째 차원은 알아서 지정되도록 -1로 합니다. 첫번째 차원이 자동으로 3으로 지정됩니다. 전체 원소 개수가 6개인데 두번째 차원을 2로 고정하면 첫번쨰 차원은 3이 되어야 하기 때문입니다. 6 = 2 x 3 >>> b = a.reshape(-1,2) >>> b array([[1, 2], [3, ..

Python/Numpy2021. 9. 30. 21:03두 개의 2차원 넘파이 배열에 0축(axis=0)을 추가하여 하나로 합치기

두 개의 2차원 넘파이 배열에 0축(axis=0)을 추가하여 하나로 합치는 예제 코드입니다. 2021. 9. 30 - 최초 작성 예를 들어 2차원 배열의 shape가 (10,3)인 경우 2개를 합치게 되면 (2, 10, 3)이 됩니다. (10, 3) + (10, 3) -> (2, 10, 3) 전체 소스코드입니다. import numpy as np a = np.arange(30).reshape(10,3) b = np.arange(30).reshape(10,3) print(a.shape, b.shape) a = np.expand_dims(a, axis=0) b = np.expand_dims(b, axis=0) print(a.shape, b.shape) c = np.concatenate((a, b), axis..

Matplotlib에서  figure 제목 및 subplot 별 제목을 추가하는 예제
Python/Matplotlib2021. 9. 16. 22:23Matplotlib에서 figure 제목 및 subplot 별 제목을 추가하는 예제

Matplotlib에서 figure 제목 및 subplot 별 제목을 추가하는 예제입니다 2021. 9. 16 - 최초작성 import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3,3,100) # x좌표는 -3에서 3 사이에서 100개를 생성합니다. y1 = np.sin(x) # 함수들을 사용하여 y좌표를 계산합니다. y2 = np.cos(x) y3 = np.tan(x) y4 = np.exp(x) fig, ax = plt.subplots(2, 2) # subplot을 2 x 2 격자로 구성합니다. ax[0, 0].plot(x, y1) # subplot별로 그래프를 그립니다. ax[0, 1].plot(x, y2) # ax에 괄호를 추가하여..

Python/Python 예제 코드2021. 9. 11. 17:02실수 넘파이 배열을 소수점 자리 맞추어 공백없이 쉼표구분으로 출력하기

numpy 배열의 데이터를 원본 csv 파일에서 찾을 목적으로 만들었던 코드였는데 간단한 데이터로 예제코드를 만들어봤습니다. 2021. 9. 11 최초작성 import numpy as np a = np.linspace(0.01, 1.00, 9).reshape(3, 3) print('original') print(a) print() print('new') np.set_printoptions(suppress=True) print('\n'.join(','.join(str(format(cell,"0.3f")) for cell in row) for row in a)) original [[0.01 0.13375 0.2575 ] [0.38125 0.505 0.62875] [0.7525 0.87625 1. ]] new..

Python/Python 예제 코드2021. 6. 9. 21:41Python에서 C언어 스타일의 조건 처리 전처리문 사용하기

Python에서 C언어 스타일의 조건 처리 전처리문을 사용하는 방법을 다룹니다. 2021. 6. 9 최초작성 설치 pip3 install pypreprocessor 설치시 에러 나는 경우 해결 방법 ( https://hbesthee.tistory.com/1661 ) git가 설치되어있어야 합니다. pip3 install git+https://github.com/Epikem/pypreprocessor 현재 사용 가능한 문법 상수 정의 #define constant 상수 정의되어 있으면 블럭 내의 문을 처리 #ifdef constant #ifdef에서 체크한 상수가 정의되어 있지 않은 경우 블럭 내의 문을 처리 #else #ifdef 또는 #else에 해당되는 블럭 끝나는 지점에 추가해야 함. #endif ..

Python/Numpy2020. 11. 14. 09:05Python에서 OpenCV 임포트시 에러 - ImportError: numpy.core.multiarray failed to import

Windows10에서 Python 3.7에 OpenCV 4.4.0를 설치후 다음과 같은 에러가 날 경우 해결방법입니다. ** On entry to DGEBAL parameter number 3 had an illegal value ** On entry to DGEHRD parameter number 2 had an illegal value ** On entry to DORGHR DORGQR parameter number 2 had an illegal value ** On entry to DHSEQR parameter number 4 had an illegal valueImportError: numpy.core.multiarray failed to importTraceback (most recent cal..

Python/Numpy2020. 3. 19. 14:13NumPy를 사용하여 두 개의 배열을 같은 순서로 무작위 섞기

주어진 데이터셋을 신경망에서 학습을 시키기 전에 특징(feature)와 레이블(label)을 무작위로 뒤섞을 필요가 있습니다.정렬된 데이터셋을 그대로 사용하면 학습이 잘 되지 않을 수 있기 때문입니다. 특징과 레이블을 두 개의 넘파이 배열에 따로 저장한 경우 다음처럼 인덱스를 무작위로 뒤섞는 방법을 사용하여 두개의 배열을 같은 순서로 뒤섞을 수 있습니다. import numpy as np # 0 ~ 9까지 숫자를 두 개의 배열에 같은 순서로 저장합니다. X = np.arange(0, 10) Y = np.arange(0, 10) # 배열의 원소 개수만큼 인덱스 배열을 만든 후 # 무작위로 뒤섞어 줍니다. idx = np.arange(X.shape[0]) np.random.shuffle(idx) # 뒤섞여있..

NumPy 강좌 - np.sum 함수에서 axis 의미
Python/Numpy2019. 11. 7. 23:06NumPy 강좌 - np.sum 함수에서 axis 의미

NumPy 함수를 사용하다보면 axis 아규먼트를 사용하는 것이 있습니다. 어떤 의미일까 고민해보다가 적어봅니다. 최초 작성 2019. 11. 7 넘파이 모듈을 임포트 하고 크기 2 x 3 x 4인 넘파이 배열에 0~23까지 숫자를 채웁니다. >>> import numpy as np >>> a = np.arange(24).reshape(2,3,4) 변수 a를 출력해보면 다음처럼 배열이 출력됩니다. 바깥쪽 괄호 [] 부터 시작하여 괄호를 기준으로 차원이 2, 3, 4가 됩니다. 가장 바깥쪽 괄호안에 2개의 원소가 존재하며 >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, ..

Python에서 코드 실행 시간 측정(perf_counter, process_time, timeit)
Python/Python 예제 코드2019. 8. 27. 13:25Python에서 코드 실행 시간 측정(perf_counter, process_time, timeit)

파이썬에서 코드 실행시간을 측정하는 방법을 찾아 테스트해보았습니다. 파이썬 3.3+ 이상부터 perf_counter와 process_time를 사용할 수 있는데 차이점은 다음과 같습니다. perf_counter는 sleep 함수를 호출하여 대기한 시간을 포함하여 측정합니다. process_time는 실제로 연산하는데 걸린 시간만 측정합니다. import time def process1(): start = time.perf_counter() time.sleep(1) return (time.perf_counter()-start) def process2(): start = time.process_time() time.sleep(1) return (time.process_time()-start) print('u..

반응형
image