728x90

Development language 21

Pandas-2. Pandas Data Structure : Series / DataFrame

Pandas는 기본 데이터 구조로 Series와 DataFrame이 존재한다. Series Series는 Pandas의 기본 데이터 구조로, Numpy 라이브러리의 배열이나, 기존 C/CPP에서의 배열과 비슷한 구조이지만, 다양한 형태의 인덱스를 갖는 다는 점에서 다르다. 0에서 부터 시작하여 순차적으로 1씩 인덱스가 증가하는 제로베이스(zero-based) 인덱스 뿐만 아니라, 날짜, 이름 등 여러가지 형태의 인덱스를 만들어낼 수 있다. 파이썬의 딕셔너리와 리스트가 합쳐진 형태라고 생각해볼 수 있다. DataFrame Series의 경우, 각 인덱스 레이블 당 하나의 값만이 매칭되는 형태이므로, 다양한 자료를 동시에 한 인덱스로 지정할 수 없다. 이를 보완하는 자료 구조가 DataFrame이다. Dat..

Pandas-1. Pandas와 데이터 처리 프로세스

Pandas 데이터 처리에는 R package를 전통적으로 사용되어오고 있다. Pandas는 이 R package를 단일 라이브러리로 구성하여 파이썬을 통해 데이터 처리를 할 수 있도록 해주는 오픈소스 데이터 분석 라이브러리이다. 데이터 처리 프로세스 우리는 크게 5가지의 단계를 통해 데이터를 처리한다. 획득 획득은 데이터를 획득하는 것을 의미한다. 데이터를 센서 등을 통해 직접 수집할 수도 있고, 외부에서 만들어진 데이터를 수집해올 수도 있다. 문제는, 이러한 데이터들이 우리가 원하는 용도로 바로 사용할 수 있을 정도로, 잘 다듬어진 경우가 거의 없다는 것이다. 데이터를 획득하는 대표적인 방법으로는 API를 통해 데이터를 받아오는 방법, 정부나 기업에서 제공하고 있는 데이터를 CSV파일, 엑셀 파일의 ..

Python-15. File-1 / 파일 입출력 / Open함수 / read메소드 / close메소드 / with구문

Q. 파일 입출력? 파일 입출력의 경우, 프로그램에서 매우 중요한 부분을 차지하기 때문에, 잘 알고있어야 하는 부분이다. 말 그대로, 파일을 읽고 쓰는 과정에 관련된 것을 의미한다. 프로그램의 작동과정에서 어떤 데이터를 불러와야 하는 경우도 있고, 만들어낸 데이터를 특정한 파일에 저장해야하는 경우도 있다. 이러한 기능을 Python을 통해 어떻게 구현할 수 있는지 알아보자. ※파일 입출력의 경우, 언어에 따라 그 방식이 꽤 상이한 경우가 많다. 이 포스트에서는 Python을 통한 입출력만을 다룬다. 파일의 종류 우리가 파일이라고 일컫는 데이터들은 그 형태가 매우 다양하다. 예를 들어, 가장 간단한 형태라고 할 수 있는 텍스트 파일부터, 음악, 비디오, 엑셀 등등 여러가지 응용프로그램에서 작성하는 파일의 ..

Python-14. Loop (반복문) - while / while문 사용법 / 반복문의 강제종료 방법 / break / 반복문의 생략방법 / continue

Q. While? for문처럼 python에서 사용할 수 있는 반복문의 한 종류이다. 다른점은 for문은 리스트, range, 문자열 등을 받아서 그 원소들의 개수만큼 반복되었지만, while문의 경우 조건이 만족되지 않을 때까지 반복되는 반복문이라는 점이다. 따라서, 조건식으로 간단하게 사용자가 어떤 문자열과 같은 입력을 했는지를 통해 반복문을 종료하거나 계속 실행하게 하는 등의 활용이 가능하다. While 사용법 while : 의 구조로 사용할 수 있다. 아래의 코드블럭을 보자. while : 이때 expression은 그 결과가 Boolean인 조건식이어야 한다. expression의 결과가 True라면 while문은 계속해서 반복되고, False라면 while문의 반복에서 탈출하게 된다. expr..

Python-13. Loop (반복문) - for문 / for문 사용법 / range / 중첩반복문

Q. Loop? 반복문이라는 한글이름 그대로, 특정한 기능을 일정 조건아래에서 계속해서 반복하는 코드를 반복문이라 한다. 인간보다 뛰어난 컴퓨터의 특장점이다! Python에서는 이 반복문을 for loop / while loop 두가지로 지원한다. for for의 용법은 여러가지이다. 방법에 대해 알아보자. Indented 우선, 파이썬에서는 단위의 구분을 들여쓰기를 통해 구분한다. 따라서 반복문 역시 한 블럭을 표현하기 위해서 들여쓰기를 통해 구분해야 한다. for in : 첫번째로, 리스트의 변수들을 하나씩 불러오면서 반복하는 방법이다. 당연히, 리스트에 담겨있는 변수들을 한번에 하나씩 순서대로 불러오기 때문에, 리스트의 길이(리스트의 변수 개수)횟수만큼 반복된다. 이때 ~회차 라는 의미의 영어로 I..

Python-12. List란 무엇인가? / 리스트 연산자 / Copying list / Aliasing list / 리스트 메소드 / 중첩리스트 / 중첩리스트 Aliasing

파이썬에서 굉장히 자주 다루게 되는 자료형 중 List에 대해 알아보자. Q. List? 하나의 자료형. 리스트는 하나의 객체로 다루어지며, 하나의 객체안에 여러개의 메모리 주소를 갖고 있다. 각각의 메모리 주소에 해당하는 메모리에는 리스트의 원소의 데이터가 담겨있다. Empty List [] 즉 아무것도 원소르 갖지 않은 리스트를 Empty List 라고 말한다. Index 리스트에 담겨있는 원소들은 각각 번호를 갖고 있다. 왼쪽 괄호 바로 뒤부터 0번째, 1번째, ... , n번째 순이다. 가장 먼저 오는 원소의 인덱스가 0인 것에 유의하자! 이때, 리스트의 원소의 개수의 범위를 벗어나는 인덱스를 입력하여 리스트의 원소를 호출할 경우, IndexError가 발생한다. 다음의 예를 보자. >>> ser..

Python-11. Str Class의 메소드 종류와 사용법 / find / count / strip / replace / lower / upper / etc. / method Nesting

Python-10 Methods란? / 메소드 / 클래스 / 모듈과 클래스의 차이 Q. Class? 이전의 포스트에서 여러가지 자료형들을 설명하였다. 파이썬에서는 이 자료형들을 어떻게 내부적으로 구현하고 있을까? 파이썬에서 존재하는 모든 자료형들은 모두 클래스 라는 객체의 dot-learning.tistory.com 위 포스트의 말미에서 말했듯, 파이썬은 문자열 클래스에 대해 많은 메소드를 지원하고 있다. 이를 통해 파이썬에서 문자열을 매우 쉽게 다룰 수 있다. 이제 어떤 메소드들이 존재하고 어떻게 사용하는지 알아보자. 우선, help함수를 사용해 str클래스에 어떤 메소드가 있는지 확인해보자! 더보기 더보기 >>>help(str) Help on class str in module builtins: cl..

Python-10 Methods란? / 메소드 / 클래스 / 모듈과 클래스의 차이

Q. Class? 이전의 포스트에서 여러가지 자료형들을 설명하였다. 파이썬에서는 이 자료형들을 어떻게 내부적으로 구현하고 있을까? 파이썬에서 존재하는 모든 자료형들은 모두 클래스 라는 객체의 형태로 구현되어있다. 즉, 클래스는 어떤 자료형의 변수를 만들어내는 틀이다! 이때, 중요한 점은 클래스라는 객체는 모듈과 비슷하게 함수를 가질 수 있다는 점이다. Q. Methods? 클래스 객체는 모듈과 비슷하게 함수를 가질 수 있다. 이때 클래스가 갖는 함수를 Methods 즉 메소드라 한다. How to use Methods 자료형들은 모두 클래스의 형태를 갖고있고, 클래스는 함수를 가질 수 있다고 위에서 설명하였다. 이제 두가지의 예를 통해 클래스가 가지고 있는 메소드의 사용방법에 대해 알아보자. 클래스의 이..

python-9. 모듈 작성 / 모듈 재호출 / importlib / 모듈 (간접)실행과 직접 실행 / __name__

이전의 포스트에서 모듈이 무엇이고, 어떻게 호출하고 사용하는지 알아보았다. Python-8. Module이란? / 모듈의 기본 사용법(import, from) 프로그래머가 처음부터 끝까지 프로그램의 모든 것을 작성하기에는 굉장히 어렵고 시간이 오래걸리는 일이다. 그렇다면, 미리 자주 사용되는 함수와 같은 기능들을 수학공식 만들 듯 미리 작성 dot-learning.tistory.com 그렇다면, 나만의 모듈을 만들고 사용할 수 있을까? 당연히 가능하다. 이제 어떻게 그렇게 하는지 알아보자. .py 파일과 모듈 아이들의 실행경로에 있는 .py파일들은 모두 모듈의 형태로 임포트할 수 있다. (실행경로에 관한 내용은 파일을 다루는 포스트에서 더 자세히 알아보자. 일단, 여기서 말하는 실행경로란 순정상태의 파이..

Python-8. Module이란? / 모듈의 기본 사용법(import, from)

프로그래머가 처음부터 끝까지 프로그램의 모든 것을 작성하기에는 굉장히 어렵고 시간이 오래걸리는 일이다. 그렇다면, 미리 자주 사용되는 함수와 같은 기능들을 수학공식 만들 듯 미리 작성하고, 이름만 따와서 사용할 수 있다면 어떨까? (우리는 적분 공식을 사용할 때, 구분구적법에서부터 시작하여 적분하지 않는다! 미리 구분구적법을 통해 알아본 결과들을 외우고, 이를 바탕으로 계산한다. 그것이 효율적이기 때문에!) Q. Modules? 앞서말한 적분공식을 외워 적분문제를 푸는 것처럼, python개발자들은 미리 module이라는 객체의 형태를 만들고, 그 객체안에 자주 사용되는 함수들과 변수들의 구조와 작동원리를 미리 프로그래밍해놓는다. 아래의 링크는 python(v.3.9.0)이 기본적으로 지원하는 모듈들에 ..