[파이썬 numpy] 여러 점들에 변환행렬 한번에 적용하기
아래와 같이 여러개의 점이 하나의 배열에 들어 있습니다. import numpy as nppoints = np.array([[4, 5, 6], [7, 8, 9], [10, 11, 12], [10, 11, 12], [10, 11, 12]]) 아래와 같은 변환행렬을 각각의 점에 적용하고 싶은 상황입니다. x축 대칭이동을 해주는 변환행렬입니다. T=np.array([[1,0,0],[0,-1,0],[0,0,1]])1. 원초적인 방법가장 원초적인(?) 방법은 for 문을 이용하여 한 점씩 변환하는 것입니다. 아래와 같이 합니다. ar=np.empty([0,3])for point in p..
2024. 10. 13.
[파이썬 numpy] 비어있는 배열 만들고 원소 추가하기
비어있는 배열을 만들고 점(point)와 같은 원소를 추가해야 하는 상황에서 사용하는 방법입니다. 비어있는 배열에 아래와 같이 3차원 점들을 for 문을 이용하여 하나씩 추가해주려고 합니다.points = np.array([[4, 5, 6], [7, 8, 9], [10, 11, 12], [10, 11, 12], [10, 11, 12]]) 비어있는 배열을 하나 만들어줍니다. 추가할 배열들의 차원과 일치하는 크기로 만들어주어야 합니다.ar=np.empty([0,3]) 위 코드를 잘 이해해야 합니다. 행렬로 생각해보면 0행 3열입니다. x,y,z 라는 열 이름만 만들어 놓은 상태라고..
2024. 10. 13.
[파이썬 numpy] 벡터와 행렬의 연산 이해하기
벡터와 행렬의 연산에는 numpy의 dot product를 사용하면 됩니다. dot product는 우리가 흔히 아는 행렬의 곱셈입니다. 차이가 있다면 3x3행렬과 행벡터를 곱해도 곱셈이 수행됩니다. 열벡터로 바꿔주지 않아도 알아서 곱셈이 수행됩니다. 몇가지 곱셈을 봅시다. 3x3 행렬과 벡터 사이의 곱을 해봅시다. 아래와 같이 3x3 행렬과 벡터 하나를 정의했습니다.import numpy as npA=np.array([[1,2,3],[10,20,30],[100,200,300]])b=np.array([4,5,6]) 위 행렬과 벡터를 곱할 때는 dot 연산자를 사용합니다.>>> np.dot(A,b)array([ 32, 320, 3200]) 아래 곱셈의 결과와 같습니다. $$ \begin{bmatrix..
2024. 10. 12.
[파이썬 판다스] 데이터프레임 특정 조건을 만족하는 특정 열에 접근하기
데이터 분석 및 조작을 위해 널리 사용되는 판다스 라이브러리는 데이터프레임이라는 효율적인 자료구조를 제공합니다. 때로는 특정 조건을 만족하는 데이터에만 관심이 있을 때가 있습니다. 이때, 특정 열에 접근하여 원하는 데이터를 추출하는 방법을 알아봅시다. import pandas as pd # 예시 데이터프레임 생성 data = {'이름': ['Alice', 'Bob', 'Charlie', 'David'], '나이': [25, 30, 22, 35], '성별': ['여', '남', '남', '여']} df = pd.DataFrame(data) print(df) # 나이가 25세 이상인 데이터만 추출 condition = df['나이'] >= 25 filtered_df = df[condition] print(f..
2024. 1. 10.
파이썬 넘파이 1차원 열벡터로 바꾸는 방법
reshape 함수를 사용합니다. 아래와 같이 사용합니다. import numpy as np a=np.array([[1,2,3],[4,5,6]]) >>> a.reshape((-1,1)) array([[1], [2], [3], [4], [5], [6]]) -1이 뭔지 궁금해하시는 분들이 많은데 -1은 열벡터로 만들겠다는 뜻입니다. -1,1 은 열벡터로 만들고 원소 하나씩을 갖게 하겠다는 의미입니다. -1,2 는 열벡터로 만들고 원소 두개씩을 갖게 합니다. >>> a.reshape((-1,2)) array([[1, 2], [3, 4], [5, 6]])
2023. 10. 26.
[파이썬 넘파이] 크기, 차원, 행 수, 전체 원소 수
아래 array를 예로 들어 설명하겠습니다. >>> ar=np.array([[1,2,3],[5,6,7]]) >>> ar array([[1, 2, 3], [5, 6, 7]]) 1. 크기 >>> ar.shape (2, 3) 2. 차원 >>> ar.ndim 2 3. 행의 수 (첫번째 차원 수) >>> len(ar) 2 4. 전체 원소 수 >>> ar.size 6
2023. 10. 11.
파이썬 리스트 원소를 부울형(논리형)으로 바꾸는 법
아래와 같은 리스트의 원소를 논리형으로 바꾸는 방법을 알아봅시다. gene=[1,1,1,1,1,1,1,1,1,1,0,0,0,0,0] 어떤 값을 논리형으로 바꾸는 함수는 bool 인데 개별 값에만 적용 가능하므로 리스트에 적용하려면 for문을 사용해야 합니다. for문 사용 아래와 같은 for문을 작성하면 됩니다. li=[] for x in gene : li.append(bool(x)) 결과는 아래와 같습니다. >>> li [True, True, True, True, True, True, True, True, True, True, False, False, False, False, False] 함수 정의 아래와 같이 함수를 정의해서 사용할 수도 있습니다. def convert_to_bool(li): retu..
2023. 10. 11.