본문으로 바로가기

요즘 약간 신나게 일하는 기간은 아닌 모양입니다. 경기는 너무 나쁘고... 덩달아 월급쟁이인 저도 힘들고..ㅠㅠ. 뭐 그래서 약간 바쁜척 하느라 또 이러저리 시간이 지나가네요.ㅠㅠ. 꿈같은 괌을 다녀오고 [바로가기] 아직 괌 앓이 중이랍니다.^^

최근에 저는 Python을 공부한다고... (사실 최근이 아니라 아주 예전에.ㅠㅠ) 했었는데요... 요근래 IPython을 설치하는 법을 이야기했었죠.[바로가기] 이제 그 환경에서 numpy라는 아이에 대해 이야기를 할려고 합니다. numpy의 기초나 역사 그 어마어마한 기능까지 뭐 제가 다~~~ 이야기하기에는 전 너~~~무 초보이기때문에.. 그냥 언제나 그렇듯 제가 공부하거나 신기해했던 것을 이야기할까 합니다. 사실 이 내용은 GitHub에 있는 Python Numpy 기초 강좌 예제를 그냥 따라했던 것 뿐이랍니다.^^.



어디 어디 강좌 예제 등등을 다운받아 들여다 봐도 항상 numpy의 namespace는 np로 많이들 쓰는듯 하더군요.^^



먼저 numpy가 제공하는 기초 함수들 중 MATLAB에서도 제가 많이 봤던 아이들이 있더군요. 1로 채워진 정해진 크기의 행렬(배열)을 만드는 ones0으로 채워지는 zeros단위행렬을 만들어주는 eye가 있더군요^^ 살짝 방갑기도 하고^^



그리고, np.array를 이용해서 직접 행렬(배열)을 만들어 둘 수 있습니다. 그 크기를 알고 싶으면 shape데이터 형을 알고 싶으면 dtype을 이용하면 되구요.



그리고 데이터형을 변경하고 싶으면 astype을 사용하면 되구요. 또 배열을 선언할때 dtype 속성으로 데이터형을 지정할 수도 있습니다.



물론 일반 연산자를 사용해서 배열간 연산이 가능한데요. 곱하기(*) 기호는 각 요소별 곱을 수행하구요. (행렬의 곱이 아닙니다.) + 덧셈 기호로 스칼라 값을 더해도 각 요소에 모두 더합니다. 나눗셈도 마찬가지구요^^



그리고 ** 곱하기 기호를 두 번 연달아 적으면 제곱승이 됩니다. 위 16번 줄의 명령은 data1의 각 요소에 루트를 씌우라는 말입니다. 17번 명령은 **2는 ^2와 같은 결과구요. 모두다 각 요소를 각각 연산합니다.



또한 등간격의 숫자 배열을 지정할 수 있는 arange()명령이 있구요. 이에 따라 각 위치별로 잘라서 보거나 저장할 수 있습니다. 특이한 것은 22번 명령인데요. numpy 배열로 선언된 변수의 특정 구간을 다른 이름으로 저장해서 그 변수의 내용을 수정하면 원본도 같이 수정되더군요. 흠... 편한듯 하면서도 다른 언어 사용자들은 조심하셔야할 듯 합니다.^^



이렇게 가로 세로 위치를 이용해서 데이터 내용을 확인할 수 있구요. 또 MATLAB 유저라면 이해가 편하실텐데..  (:) 연산자를 사용해서 범위를 지정할 수도 있습니다.



특히 위 내용처럼 [:2, 1:]의 의미는 처음부터 2번행 직전까지의 행과, 1번 열 부터 끝 열까지라는 의미입니다. 정확하게는 29번 명령을 보시면 됩니다.

또 어설픈.. 기초이야기를 시작하네요. ㅎㅎ. 많은 분들은 아니지만... 이런 저런 분들이 오시는 블로그에 이렇게 공부하는 내용을 올리다니.. 저도 참 황당한 일입니다.^^. 그런데 희한하게 이렇게 올리고 나면 이 지식이 이제사 비로서 내 지식이 된듯한 착각(^^)이 있습니다.ㅠㅠ. 뭐 아무튼 그렇다구요^^



댓글을 달아 주세요

  1. BlogIcon 용작가 2015.03.19 11:20 신고

    뭔가 굉장히 어려운걸 공부하시는군요! 화이팅입니다. 열공! ^^

    • BlogIcon PinkWink 2015.03.19 12:27 신고

      네.. 기초입니다만... 굉장히.. 재미있는 결과를 언젠간 얻을 수 있을거라 생각하며 보고 있답니다.^^ 그리고 항상 우리는 화이팅입니다. ㅎㅎㅎ

  2. BlogIcon 워크뷰 2015.03.19 12:17 신고

    잘보고 갑니다^^

  3. BlogIcon *저녁노을* 2015.03.19 13:28 신고

    ㅎㅎ어렵네요

  4. BlogIcon 세상속에서 2015.03.19 17:45 신고

    요즘 날씨가 좋아서 꽃구경 하기 좋아요^^*

  5. BlogIcon 악랄가츠 2015.03.20 00:39 신고

    오늘은 심오하네요!
    숙연해집니다! 으응? ㅋㅋ

  6. BlogIcon 딸기향기 2015.03.20 01:04 신고

    학교서도 안한 파이썬을 여기와서 배우고 가네요 ㅋㅋ
    잘보고 가요

  7. BlogIcon 도랑가재 2015.03.20 07:24 신고

    공부도 되고 정리도 되고,,
    좋은 방법 같아요.^^~

  8. BlogIcon 양군! 2015.03.20 07:57 신고

    유용한 정보에 대해서 정리 잘 해주셔서
    잘보고 간답니다 ^^

  9. BlogIcon 핑구야 날자 2015.03.20 08:29 신고

    관심있는 분이라면 간단한 연산부터 시작하면 쉽게 배울 수 있겠죠

  10. BlogIcon Hansik's Drink 2015.03.20 09:29 신고

    다녀간답니다 ^^
    기분 좋은 하루를 보내세요~

  11. 2017.01.10 09:54

    비밀댓글입니다