본문 바로가기
반응형

파이썬108

[파이썬 강의] 78. 표본추출 (표준정규분포, 정규분포) 표준정규분포에서 표본을 추출해봅시다. np.random.randn(원소 수) np.random.randn(행의 수, 열의 수) ... 일반화하여 표현하면 아래와 같습니다. np.random.rand(shape) 예를 들어봅시다. 원소가 10개인 표본을 추출해봅시다. >>> np.random.randn(10) array([-0.46918572, -0.01478616, -0.68911651, 1.14858756, -1.97550475, -1.66843948, 0.37697573, 1.55891432, 0.56331007, 0.93739202]) 2행5열의 표본을 추출해봅시다. 위 결과와 얼핏 같아 보이지만 아닙니다. 아래 결과는 리스트가 2중 중첩입니다. >>> np.random.randn(2,5) arra.. 2021. 11. 3.
[파이썬 강의] 77. 표본추출 (균등분포) 0~1사이 실수값을 갖는 균등분포에서 표본을 추출해봅시다. 코드는 아래와 같은 형식으로 사용합니다. np.random.rand(원소 수) np.random.rand(행의 수, 열의 수) ... 일반화하여 표현하면 아래와 같습니다. np.random.rand(shape) 예를 들어봅시다. 원소가 10개인 표본을 추출해봅시다. >>> np.random.rand(10) array([0.93551792, 0.67158859, 0.66331052, 0.87592483, 0.56564499, 0.14275756, 0.22003448, 0.01317308, 0.82143447, 0.71668732]) 2행5열의 표본을 추출해봅시다. 위 결과와 얼핏 같아 보이지만 아닙니다. 아래 결과는 리스트가 2중 중첩입니다. >>.. 2021. 11. 2.
[파이썬 강의] 76. 표본추출 (구간 사이 정수값) 구간을 정하고, 해당 구간 사이에 있는 정수값을 임의로 추출하는 방법입니다. 넘파이 패키지의 random.randint 메소드를 사용합니다. 형식은 아래와 같습니다. np.random.randint(시작값,끝값+1) 끝값+1인 것에 주의해주세요. (1,5)를 입력하면 1,2,3,4 중에서 정수가 추출됩니다. 예를 들어봅시다. >>> np.random.randint(1,5) 3 >>> np.random.randint(1,5) 3 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5) 1 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5) 2021. 11. 1.
[파이썬 강의] 75. 배열 원소의 최댓값과 최솟값 배열의 최댓값을 구할 때는 max 메소드를, 최솟값을 구할 때는 min 메소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열 1차원 배열을 하나 정의하고 최댓값과 최솟값을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.max() 5 >>> v1.min() 1 2차원 배열 2차원 배열을 하나 정의하고 합을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.max() 30 >>> m1.min() 1 axis 옵션을 적용해봅시다. >>> m2=np.array([[1,2,3],[4,5,1]]) >>> m2.max(axis=0) array([4, 5, 3]).. 2021. 10. 29.
[파이썬 강의] 74. 배열 원소의 평균, 분산, 표준편차 배열의 평균을 구할 때는 mean 매소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열의 평균 1차원 배열을 하나 정의하고 평균을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.mean() 3.0 2차원 배열의 평균 2차원 배열을 하나 정의하고 평균을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.mean() 11.0 axis 옵션을 적용해봅시다. >>> m1.mean(axis=0) array([ 5.5, 11. , 16.5]) >>> m1.mean(axis=1) array([ 2., 20.]) axis0은 [1,2,3]->[10,20,30] 이.. 2021. 10. 28.
[파이썬 강의] 73. 배열 원소의 합 배열의 합을 구할 때는 sum 매소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열 1차원 배열을 하나 정의하고 합을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.sum() 15 2차원 배열 2차원 배열을 하나 정의하고 합을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.sum() 66 axis 옵션을 적용해봅시다. >>> m1.sum(axis=0) array([11, 22, 33]) >>> m1.sum(axis=1) array([ 6, 60]) axis0은 [1,2,3]->[10,20,30] 이므로 리스트 [1,2,3]과 [10,20,30]의.. 2021. 10. 27.
[파이썬 강의] 72. 두 값과 원하는 개수를 지정하는 등차수열 두 값과 원하는 개수를 지정하여 등차수열을 생성하는 방법입니다. 예를들어 1과 7이라는 두 값을 지정하고, 개수를 네개로 지정하면 아래와 같은 배열이 생성되는 것입니다. 두 값 사이를 등간격으로 잘라서 숫자를 만들어 줍니다. 1 3 5 7 함수는 넘파이 패키지의 linspace 를 사용합니다. 아래와 같은 형식으로 사용합니다. linspace(첫항,끝항,개수) 아래는 위 예시를 코드로 구현한 것입니다. >>> import numpy as np >>> np.linspace(1,7,4) array([1., 3., 5., 7.]) 2021. 10. 27.
[파이썬 강의] 71. 등차수열 배열 생성하기 등차수열 배열을 생성할 때는 넘파이 패키지의 arange 함수를 사용합니다. 아래와 같은 형식으로 사용합니다. np.arange(시작값,끝값,간격) 시작값이상이고, 끝값 미만인 배열이 생성됩니다. 끝항 '미만'이라는 것을 기억합시다. 구간으로는 [첫항,끝항) 이라고 표현할 수 있습니다. 반열린구간입니다. 예를들어봅시다. np.arrange(1,6,2) 라고 입력하면 얼마가 반환될까요. 1부터 2씩 늘려가는 것이니까. 1 3 5 가 생성됩니다. >>> import numpy as np >>> np.arange(1,6,2) array([1, 3, 5]) 하나의 값만 입력할 경우 첫항이 0이고 길이가 입력값인 배열이 생성됩니다. >>> np.arange(5) array([0, 1, 2, 3, 4]) 2021. 10. 26.
[파이썬 강의] 70. 모든 값이 지정값인 배열 원하는 크기로 만들기 (full) 사용자가 지정한 값을 갖는 원하는 크기의 배열을 만들 때는 numpy 모듈의 full 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 15이고, 길이가 10인 1차원 배열을 만들어 봅시다. 첫번째 입력값이 길이입니다. >>> import numpy as np >>> np.full(10,15) array([15, 15, 15, 15, 15, 15, 15, 15, 15, 15]) 2차원 배열 만들기 모든 값이 15이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.full([3,5],15) array([[15, 15, 15, 15, 15], [15, 15, 15, 15, 15.. 2021. 10. 25.
[파이썬 강의] 69. 모든 값이 1인 배열 원하는 크기로 만들기 (ones) 모든값이 1인 배열을 만들 때는 numpy 모듈의 ones 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 1이고, 길이가 10인 1차원 배열을 만들어 봅시다. import numpy as np >>> import numpy as np >>> np.ones(10) array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) 2차원 배열 만들기 모든 값이 1이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.ones([3,5]) array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., .. 2021. 10. 25.
[파이썬 강의] 68. 모든 값이 0인 배열 원하는 크기로 만들기 (zeros) 모든값이 0인 배열을 만들 때는 numpy 모듈의 zeros 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 0이고, 길이가 10인 1차원 배열을 만들어 봅시다. import numpy as np >>> import numpy as np >>> np.zeros(10) array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) 2차원 배열 만들기 모든 값이 0이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.zeros([3,5]) array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0.. 2021. 10. 25.
[파이썬 강의] 67. 배열 요소 삭제하기 배열에 요소를 추가할 때는 np.delete 라는 함수를 사용합니다. 사용 방법은 아래와 같습니다. np.delete(배열, 인덱스, 축) 1차원 배열을 예로 들어봅시다. 원소가 1,2,3,4인 1차원 배열을 하나 정의하겠습니다. >>> import numpy as np >>> v1=np.array([1,2,3,4]) 두번째 원소를 삭제하고 싶은 경우 index에 1을 입력하면 됩니다. >>> np.delete(m1,1,axis=0) array([1, 3, 4]) 2차원 배열을 예로 들어봅시다. 2차원 배열을 하나 정의하겠습니다. >>> m1=np.array([[1,2],[3,4]]) [3,4] 를 제거해봅시다. >>> np.delete(m1,1,axis=0) array([[1, 2]]) 2차원 배열을 .. 2021. 10. 22.
[파이썬 강의] 66. 배열 요소 추가하기 배열에 요소를 추가할 때는 np.append 라는 함수를 사용합니다. 사용 방법은 아래와 같습니다. np.append(배열, 추가하려는배열, 축) 1차원 배열을 예로 들어 사용방법을 설명하면 아래와 같습니다. >>> import numpy as np >>> m1=np.array([1,2,3]) >>> np.append(m1,np.array([4,5,6]),axis=0) array([1, 2, 3, 4, 5, 6]) 1차원배열에는 방향이 하나 뿐이기 때문에 위와 같은 모양으로 밖에 추가가 안됩니다. 만약 행방향으로 배열을 추가하고 싶다면 어떻게해야 할까요? 리스트를 한겹 씌워서 2차원 배열로 만들고 추가하면 됩니다. >>> m1=np.array([[1,2,3]]) >>> np.append(m1,np.arr.. 2021. 10. 22.
[파이썬 강의] 65. 축(axis) 개념 이해하기 축 개념은 배열에서 자주 사용되는 개념입니다. 축을 행,열,높이 등으로 이해하는 경우가 있는데요. 그렇게 이해하게 되면 차원이 높아질 경우 한계에 부딪히게 됩니다. 1차원 배열에서는 축이 하나이므로 2차원 부터 생각해봅시다. 2차원 배열을 두개 정의합시다. >>> m1=np.array([[1,2,3],[4,5,6]]) >>> m2=np.array([[7,8,9],[10,11,12]]) 위 두 배열을 0번 축으로 합칠 경우 아래와 같이 합쳐집니다. >>> np.concatenate((m1,m2),axis=0) array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) 1번 축으로 합칠 경우 아래와 같이 합쳐집니다. >>> np.concatenate((m1,m2).. 2021. 10. 22.
[파이썬 강의] 64. 배열을 원하는 방향으로 합치기 (concatenate 함수와 axis) 배열을 합치는데 사용되는 함수는 크게 두가지가 있습니다. stack 류 함수와 concatenate 함수입니다. 1) stack 류 함수 - vstack - hstack - column_stack 2) concatenate 함수 오늘은 concatenate 함수에 대해 알아봅시다. concatenate 함수는 하나의 함수가 vstack, hstack 을 포함합니다. axis 라는 옵션을 이용합니다. axis 옵션만 이해하면 concatante 를 자유자재로 사용할 수 있습니다. axis의 개수는 합치려는 배열의 차원의 개수와 동일합니다. 3차원이면 axis는 0,1,2 세개입니다. shape 함수의 결과가 axis와 동일합니다. shape함수의 첫번째 값이 0번 axis, 두번째 값이 1번 axis 입니.. 2021. 10. 22.
[파이썬 강의] 63. 벡터를 열벡터로 연결 (column_stack 함수) 배열을 합치는데 사용되는 함수는 크게 두가지가 있습니다. stack 류 함수와 concatenate 함수입니다. 1) stack 류 함수 - vstack - hstack - column_stack 2) concatenate 함수 오늘 배워볼 column_stack 함수는 1차원 벡터를 열벡터로 인식하여 연결합니다. 2차원 부터는 hstack 함수와 동일한 역할을 합니다. column_stack : 1차원 벡터를 열벡터로 인식하여 연결 아래와 같이 합치는 것을 말합니다. [1,2,3] + [4,5,6] = [[1,4] [2,5] [3,6]] 1차원 배열 예시 >>> v1=np.array([1,2,3]) >>> v2=np.array([4,5,6]) >>> np.column_stack((v1,v2)) arra.. 2021. 10. 22.
[파이썬 강의] 62. 배열을 열 방향(가로 방향)으로 합치기 (hstack 함수) 배열을 합치는데 사용되는 함수는 크게 두가지가 있습니다. stack 류 함수와 concatenate 함수입니다. 1) stack 류 함수 - vstack - hstack - column_stack 2) concatenate 함수 오늘은 stack류 함수를 이용하여 배열을 열 방향으로 합쳐보겠습니다. 배열을 열방향으로 합칠때는 hstack 함수를 사용합니다. hstack 함수에서 h는 horizontal 입니다. '가로'를 의미합니다. hstack : 배열을 행 방향으로 합치는 함수 배열을 행 방향으로 합친다는 것은 아래와 같이 합치는 것을 말합니다. [1,2,3] + [4,5,6] = [1,2,3,4,5,6] 1차원 배열 예시 >>> v1=np.array([1,2,3]) >>> v2=np.array([4.. 2021. 10. 22.
[파이썬 강의] 61. 배열을 행 방향(세로 방향)으로 합치기 (vstack 함수) 배열을 합치는데 사용되는 함수는 크게 두가지가 있습니다. stack 류 함수와 concatenate 함수입니다. 1) stack 류 함수 - vstack - hstack - column_stack 2) concatenate 함수 오늘은 stack류 함수를 이용하여 배열을 행 방향으로 합쳐보겠습니다. 배열을 행방향으로 합칠때는 vstack 함수를 사용합니다. vstack에서 v는 vertical 입니다. '세로'를 의미합니다. vstack : 배열을 행 방향으로 합치는 함수 배열을 행 방향으로 합친다는 것은 아래와 같이 합치는 것을 말합니다. [1,2,3] + [4,5,6] = [[1, 2, 3] [4, 5, 6]] 1차원 배열 예시 >>> import numpy as np >>> v1=np.array([.. 2021. 10. 22.
[파이썬 강의] 60. 주피터 노트북 경로 드라이브 변경하기 주피터 노트북의 디폴트 드라이브는 C 드라이브입니다. 다른 드라이브로 바꾸는 방법을 알아봅시다. 지난시간에 브라우저 경로를 수정할 때와 방법은 같습니다. 커멘드 창을 열고 아래 명령어를 실행합니다. jupyter notebook --generate-config 경로가 하나 뜰겁니다. 해당경로로 찾아갑니다. jupyter_notebook_config.py 라는 파일이 보일텐데 메모장이나 노트패드로 열어줍니다. Ctrl+F 로 검색기능을 사용하여 c.NotebookApp.notebook_dir 를 찾아줍니다. 우변을 바꿔주면 됩니다. 2021. 10. 22.
[파이썬 강의] 59. 주피터 노트북 크롬에서 실행하기 주피터 노트북을 실행시키면 익스플로러에서 뜨는 분도 계시고 크롬에서 뜨는 분도 계실겁니다. 원하는 브라우저에서 실행하는 방법을 알려드리려고 합니다. 크롬을 예로 들겠습니다. 커멘드 창을 열어서 아래와 같이 입력합니다. jupyter notebook --generate-config 경로가 하나 뜰겁니다. 해당경로로 찾아갑니다. jupyter_notebook_config.py 라는 파일이 보일텐데 메모장이나 노트패드로 열어줍니다. Ctrl+F 로 검색기능을 사용하여 c.NotebookApp.browser 를 찾아줍니다. 등호 오른쪽에 있는 경로가 브라우저입니다. 크롬을 원하는 경우 크롬 경로를 입력하셔야 하는데, 크롬 경로는 크롬 실행파일에서 우클릭하면 알 수 있습니다. 크롬 경로에 실행파일 이름은 붙여서 .. 2021. 10. 22.
[파이썬 강의] 58. 주피터 노트북 설치하고 실행하기 앞으로 코드 양이 좀 늘어날 것 같아서 파이썬 코딩을 한결 편하게 해주는 프로그램을 설치해서 사용하겠습니다. 주피터 노트북이라는 프로그램입니다. 주피터 노트북은 파이썬 코딩을 편하게 할 수 있도록 도와주는 프로그램입니다. 이러한 프로그램들을 IDE라고 부릅니다. IDE는 Integrated Development Environment의 약어이고, 우리말로는 '통합 개발 환경'이라고 부릅니다. R은 R스튜디오가 대표적인 IDE입니다. 파이썬은 R과 달리 여러 종류의 IDE가 있습니다. 주로 사용되는 IDE는 아래와 같습니다. 파이참 주피터 노트북 비주얼 스튜디오 코드 스파이더 파이썬 설명과 학습용으로는 주피터 노트북이 가장 좋기 때문에 설치해서 사용하도록 하겠습니다. 주피터 노트북 설치 커멘드 창을 열어줍니.. 2021. 10. 22.
[파이썬 강의] 57. 3차원 배열의 모양에 대한 고찰 3차원 배열에 shape 메소드를 사용해보고 결과에 대한 고찰을 해보려고 합니다. 2차원 배열에서 shape 결과는 행과 열의 개수 였습니다. >>> ar2=np.array([[1,2,3],[4,5,6]]) >>> ar2 array([[1, 2, 3], [4, 5, 6]]) >>> ar1.shape (2, 3) 3차원 배열을 하나 정의해봅시다. >>> ar3=np.array([ [[1,2,3,4],[5,6,7,8],[9,10,11,12]] , [[13,14,15,16],[17,18,19,20],[21,22,23,24]] ] ) >>> ar3 array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20].. 2021. 10. 20.
[파이썬 강의] 56. 배열의 차원, 모양, 원소 수 배열은 아래와 같은 특성을 갖습니다. 차원 (ndim) 모양 (shape) 원소 수 (size) 괄호 안이 함수이기도 하고 메소드이기도 합니다. 2차원 배열을 예로 들어 특성을 확인해봅시다. 아래와 같이 2차원 배열을 하나 정의하겠습니다. >>> import numpy as np >>> ar1=np.array([[1,2,3],[4,5,6]]) >>> ar1 array([[1, 2, 3], [4, 5, 6]]) 차원을 알아봅시다. 함수를 사용할 수도 있고 메소드를 사용할 수도 있습니다. 행렬이므로 2차원입니다. >>> np.ndim(ar1) 2 >>> ar1.ndim 2 모양을 알아봅시다. 2행 3열입니다. >>> np.shape(ar1) (2, 3) >>> ar1.shape (2, 3) 원소 수를 알아봅.. 2021. 10. 18.
[파이썬 강의] 55. 3차원 배열의 정의, 인덱싱, 슬라이싱 3차원 배열은 리스트를 세겹 중첩하여 정의합니다. 4행 3열 2층 의 3차원 배열을 정의하고 싶다고 해봅시다. 아래 두 행렬이 높이 방향을 쌓여있는 3차원 배열을 정의하고 싶은 것입니다. 여기서 '고'는 높이를 의미합니다. 1 2 3 4 5 6 7 8 9 10 11 12 아래와 같이 정의하면 됩니다. >>> import numpy as np >>> ar1=np.array([ [[1,2,3],[4,5,6]] , [[7,8,9],[10,11,12]] ]) >>> ar1 array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 인덱싱을 해봅시다. 첫번째 자리의 인덱싱이 '층'임을 알 수 있습니다. >>> ar1[0] array([[1, 2, 3], [4, 5, .. 2021. 10. 15.
[파이썬 강의] 54. 행 또는 열의 길이가 다른 배열도 정의가 가능한가 행 또는 열의 길이가 다른 배열도 정의가 가능하지 궁금해서 시험해봤습니다. 예를들면 1행은 2열까지만 있고, 2행은 3열까지만 있는 배열 정의가 가능한지에 대한 의문입니다. 1 2 1 2 3 >>> import numpy as np >>> ar1=np.array([[1,2],[1,2,3]]) Warning (from warnings module): File "", line 1 VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If y.. 2021. 10. 15.
[파이썬 강의] 53. 넘파이의 자료형 우리가 이미 알고 있는 자료형은 아래와 같습니다. 정수 int 실수 float 복소수 complex 문자열 str 논리형 bool numpy는 자신만의 데이터 타입을 갖습니다. 아래와 같습니다. 1. 숫자형 1-1. 정수형(int8, int16, int32, int64) 1-2. 부호 없는 정수형(uint8, unit16, unit32, unit64) 1-3. 부동소수형 (float16, float32, float64) 1-4. 복소수형 (complex64, copmlex128) 2. 문자형 (string_) 3. 눈리형 (bool) 4. 날짜시간형 (datetime64) 숫자혀이 더 세분화되어 있습니다. int8, int32 등에서 뒤에 붙어있는 숫자는 bit입니다. 비트는 0과 1을 갖는 데이터의 가.. 2021. 10. 15.
[파이썬 강의] 52. 2차원 배열(행렬)의 행렬곱 행렬의 곱셈은 아래와 같이 정의됩니다. $\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} = \begin{bmatrix} a_{11}b_{11}+a_{12}b_{21} & a_{11}b_{12}+a_{12}b_{22} \\ a_{21}b_{11}+a_{22}b_{21} & a_{21}b_{12}+a_{22}b_{22} \end{bmatrix} $ 숫자를 넣어서도 계산해봅시다. $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{b.. 2021. 10. 14.
[파이썬 강의] 51. 2차원 배열(행렬)의 산술연산 행렬을 두개 정의해봅시다. >>> import numpy as np >>> m1 array([[10, 20], [30, 40]]) >>> m2=np.array([[5,6],[7,8]]) >>> m2 array([[5, 6], [7, 8]]) 일곱가지 산술연산자를 적용해봅시다. 일곱가지 산술연산자는 아래와 같습니다. + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 ** 제곱 // 몫 % 나머지 >>> m1+m2 array([[15, 26], [37, 48]]) >>> m1-m2 array([[ 5, 14], [23, 32]]) >>> m1*m2 array([[ 50, 120], [210, 320]]) >>> m1/m2 array([[2. , 3.33333333], [4.28571429, 5. ]]) >>> m1*m2.. 2021. 10. 14.
[파이썬 강의] 50. 2차원 배열(행렬)의 정의, 인덱싱, 슬라이싱 넘파이 패키지의 배열 자료구조를 이용하여 벡터를 정의하고 인덱싱과 슬라이싱을 해봅시다. 먼저 넘파이 패키지를 불러옵시다. >>> import numpy as np 행렬은 리스트를 중첩하여 정의합니다. >>> m1=np.array([[1,2],[3,4]]) 위 행렬은 아래와 같은 행렬입니다. $\begin{bmatrix} 1 &2 \\ 3 &4 \end{bmatrix}$ 인덱싱은 리스트의 인덱싱과 동일한 방식으로 하면 됩니다. 예를들어 2라는 원소에 접근하고 싶은 경우, [1,2]라는 원소에 먼저 접근하고 나서 2에 접근하면 됩니다. >>> m1[0] array([1, 2]) >>> m1[0][1] 2 배열의 경우 아래와 같이 입력해도 인덱싱이 가능합니다. 이 방법을 주로 사용합니다. >>> m1[0,1].. 2021. 10. 14.
[파이썬 강의] 49. 1차원배열(벡터)의 산술연산 길이가 같은 벡터 두개를 정의해봅시다. >>> import numpy as np >>> v1=np.array([10,20,30]) >>> v2=np.array([3,5,7]) 일곱가지 산술연산자를 적용해봅시다. 일곱가지 산술연산자는 아래와 같습니다. + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 ** 제곱 // 몫 % 나머지 >>> v1+v2 array([13, 25, 37]) >>> v1-v2 array([ 7, 15, 23]) >>> v1*v2 array([ 30, 100, 210]) >>> v1/v2 array([3.33333333, 4. , 4.28571429]) >>> v1**v2 array([ 1000, 3200000, 395163520], dtype=int32) >>> v1//v2 array([3, .. 2021. 10. 14.
반응형