2021/06

    Python :: 13 - 시각 정보를 다루어보자

    Python :: 13 - 시각 정보를 다루어보자

    우리는 앞선 장에서 판다스를 이용해 데이터를 다루는 것을 해보았다. 이번에는 이미지 데이터를 다루어 볼텐데 이미지란 컴퓨터에 저장된 2차원 시각 정보 파일이다. 디지털 이미지 데이터는 색상을 표현하는 점들이 모여 한 장의 이미지가 되는 비트맵 bitmap 방식과 점과 곡선, 면들이 수학적인 식으로 표현된 벡터 verbor 이미지로 나뉜다. 우리는 이번에 비트맵 방식에 대해서 다룰 것이다. 이미지에서 가장 작은 크기의 공간을 차지하며 하나의 색상 값을 가지고 있는 정보를 픽셀이라고 하고, 비트맵 방식의 이미지는 그림의 기본 구성요소를 의미하는 이 픽셀로 이루어진다. 가장 간단한 형태의 비트맵 이미지는 한 픽셀을 0과 1로 표현하는 이미지이다. 이때 0은 이미지 요소가 없음을 의미하므로 검정색, 1은 이미지..

    Python :: 12 - 판다스로 데이터를 분석해보자

    Python :: 12 - 판다스로 데이터를 분석해보자

    판다스는 무엇이고 왜 사용하는가? 우리는 지금 파이썬을 이용해서 데이터를 다루고 처리하는 것을 공부하고 있다. 이 때까지 파이썬은 많은 데이터를 가지고 연산하고 가공하는 데에 우수한 능력을 보여주었다. 그런데 엑셀 파일과 같이 테이블 형태의 데이터에 대한 통계적 분석이나 데이터 항목 사이의 연산 등에는 적합하지 않았다. 이 때 "판다스 Pandas" 를 이용한다. 판다스는 넘파이를 기반으로 한 도구이고 다음과 같은 특징을 갖는다. 빠르고 효율적이며 다양한 표현력을 갖춘 자료구조 다양한 형태의 데이터에 적합 핵심 구조 : Series, DataFrame 우리는 판다스로 무엇을 할 수 있을까? 판다스를 이용하면 CSV파일, 엑셀파일, SQL 데이터베이스에서 데이터를 읽어서 스프레드시트의 테이블과 유사한 데이..

    Python :: 11 - 차트를 멋지게 그려보자

    Python :: 11 - 차트를 멋지게 그려보자

    데이터 과학을 공부하면서 "데이터 시각화 data visualization" 는 빼놓을 수 없다. 데이터 시각화는 점이나 선, 막대 그래프 등의 시각적 이미지를 사용하여 데이터를 화면에 표시한다. 효과적인 시각화는 사용자가 데이터를 분석하고 추론하는 데 도움이 된다. 사람들은 시각적으로 보이는 데이터를 직관적으로 이해할 수 있기 때문이다. 데이터를 시각화하기 위한 많은 도구가 파이썬에 있지만 우리는 matplotlib 라이브러리를 사용해서 공부해보고자 한다. matplotlib 라이브러리는 가장 널리 사용되는 시각화 도구이다. 간단한 막대 그래프, 선 그래프, 산포도를 그리는 용도로 제격이다. 이번 장에서는 matplotlib 을 이용하여 다양한 종류의 차트를 만들어보자. 우선 그래프 하나를 소개하겠다...

    Python :: 10 - 넘파이로 수치 데이터를 처리해보자

    Python :: 10 - 넘파이로 수치 데이터를 처리해보자

    각자 파이썬을 공부하기 시작한 이유는 여러 가지가 있을 것이다. 프로그래밍을 처음 배우는 사람이 접하기 쉬운, 간편하면서 강력한 언어이기 때문일 수도 있고, 간단한 스크립트를 작성하여 자동화를 돌리고자 하는 사람도 있을 것이다. 또 Django 프레임워크를 이용해 웹 개발을 하고자 하는 사람도 있을 거라고 생각한다. 하지만 파이썬의 또 강력한 점은 데이터를 분석하고자 할 때 다양한 모듈들을 지원하기 때문에 데이터 과학과 머신러닝을 하는 것에 있어서 적합하다는 점일 것이다. 이번 장에서는 넘파이를 이용해 데이터 과학을 공부하는데 있어서 더욱 편리하게 할 수 있도록 공부해보고자 한다. 앞서서 이미 파이썬의 리스트에 대해서 공부해보았다. https://twix.tistory.com/12 [Python] 7 -..

    Python :: 9 - 텍스트를 처리해보자

    Python :: 9 - 텍스트를 처리해보자

    직전 게시물 마지막 예제 문제를 해결하면서 문자열을 처리하는 메소드가 잠깐 등장했었다. 오늘날에는 아주 다양한 데이터들이 있지만, 사람이 읽을 수 있는 텍스트 형태의 데이터를 다룰 줄 아는 것은 아주 중요하다. 이번 장에서는 텍스트를 처리하는 연산들과 메소드들을 알아보도록 하자. 텍스트 데이터는 구조화된 데이터(HTML, XML, CSV, JSON 등)와 구조화되지 않은 문서(자연어로 된 텍스트)로 나눌 수 있다. 일반적으로 데이터는 가공된 형태가 아니기 때문에 우리는 이 데이터를 수정해서 완전한 데이터로 만들어야 한다. 예를 들어 텍스트 데이터에 대소문자가 섞여 있을 수도 있고, 문자열의 앞뒤에 필요없는 공백 문자가 붙어 있을 수도 있다. 또 긴 문자열 중에서 우리가 필요한 것은 일부분일 수도 있다. ..

    Python :: 8 - 연관된 데이터를 딕셔너리로 짝을 짓자

    Python :: 8 - 연관된 데이터를 딕셔너리로 짝을 짓자

    이전 장에서는 리스트와 튜플이라는 자료형에 대해 알아보았다. 이번에는 키를 이용해서 값을 추출할 수 있는 자료형인 "딕셔너리 dictionary" 에 대해서 알아보자. 주로 데이터베이스에서 흔히 볼 수 있는 구조인데, 딕셔너리는 값 value 과 관련된 키 key 가 있다는 것이 큰 특징이다. 딕셔너리를 만들 때는 중괄호 {} 를 사용한다. 간단하게 전화번호부를 만든다고 가정하고 딕셔너리에 대해 살펴보자. phone_book = {} # 공백 딕셔너리를 생성 phone_book["홍길동"] = "010-1234-5678" print(phone_book) # {'홍길동': '010-1234-5678'} 위의 코드를 보면 {} 를 이용하여 공백 딕셔너리를 만든다. 이름을 key 로 사용하고 value 에는 ..

    Python :: 7 - 데이터를 리스트와 튜플로 묶어보자

    Python :: 7 - 데이터를 리스트와 튜플로 묶어보자

    이번 장에서는 여러 개의 데이터를 하나로 묶어서 처리하는 리스트와 튜플을 배워보자. 지금까지는 주로 숫자와 문자열을 변수에 저장하였다. 하지만 어떤 경우에는 여러 개의 데이터를 하나로 묶어서 저장하는 것이 필요하다. 파이썬에서는 "리스트 list" 와 딕셔너리"dictionary" 를 이용하여 여러 개의 데이터를 한꺼번에 저장하고 처리할 수 있다. height = 174.2 학생 한 명의 키를 저장한다면 위와 같이 변수에 실수 데이터를 저장하면 된다. 하지만 학생 5명의 키를 저장하려면 어떻게 해야 할까? 5명이 아니라 100명, 1000명이라면 어떻게 해야 할까? 데이터를 하나씩 변수에 저장하려면 번거롭기도 하고 관리하기도 어렵다. 이와 같은 경우 "리스트 list" 를 이용하여 처리하면 편하게 처리할..

    Python :: 6 - 함수로 일처리를 짜임새있게 하자

    Python :: 6 - 함수로 일처리를 짜임새있게 하자

    수학에서 함수는 "어떤 집합의 각 원소를 다른 집합의 유일한 원소에 대응시키는 이항 관계"를 의미한다. 즉 집합 X 의 원소 x 하나에 집합 Y 의 원소 y 하나가 대응하는 관계를 의미한다. 그렇다면 프로그램을 개발할 때의 함수란 무엇일까? 출처 : https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98 함수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 함수는 입력값에 따라 출력값을 만들어 내는 ‘블랙 박스’와 같다. 수학에서 함수(函數, 영어: function) 또는 사상(寫像, 영어: map, mapping)은 어떤 집합의 각 원소 ko.wikipedia.org 프로그램의 기능이 다양해질수록 점점 커지고 복잡해진다. 그래서 우리는 "함수 Fun..