╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Python 24

[Matplotlib] 데이터 시각화 (plot 함수 사용법)

matplotlib란 데이터의 시각화를 위해 사용하는 파이썬 라이브러리 이다. matplotlib를 통해서 데이터를 시각화하면 다른사람들에게 보여주기도 더 쉬우니 매우 유용하다. 이제 바로 matplotlib 사용법에 대해 알아보겠다. import matplotlib.pyplot as plt를 사용해서 가져온다. 이때 matplotlib 자체를 가져오는 것이 아니라 부분만 가져오는데 너무 방대해서 사용할 부분만 가져오는 것이다. 그리고 가져온 것을 plt로 선언하는 것이 관례이다. figure()는 새로운 figure를 생성하거나 기존 figure를 활성화 시킨다. plot()을 사용해 그래프를 그린다. x축에 들어갈 값(list)와 y축에 들어갈 값(list)를 인자로 받는다. show()를 통해 그래..

Python/Matplotlib 2022.05.04

[Pandas] 데이터프레임 (DataFrame)

데이터프레임은 2차원 배열의 형태를 띄고있다. 데이터프레임은 파이썬은 딕셔너리로 생각해도 좋다. 데이터프레임을 구축하는 요소로 시리즈가 있다. 키:시리즈 키:시리즈 데이터 프레임은 위의 형태로 시리즈를 내포하고있다. (딕셔너리) 이때 데이터 프레임은 행,열 의 구조가되며 각 열은 시리즈(리스트)를 갖고있으며 행은 키들로 구분된다. 실제로 DataFrame()이 입력받는 인자가 딕셔너리이다. 각 키들은 columns, 값들은 rows가 된다. 그리고 왼쪽은 0,1,2는 인덱스를 뜻한다. 데이터프레임을 생성할 때 위와 같이 index와 columns의 이름을 정해줄 수도 있다. 그런데 이때 주의할 점이 DataFrame에 들어가는 숫자형 데이터는 2중 리스트라는 것이다. 그럼 이제 데이터프레임의 사용법에 대..

Python/Pandas 2022.05.02

[Pandas] 시리즈 2 (Series)

시리즈에서 사용할 수 있는 attributes가 많다. 이번엔 시리즈의 attributes에 대해 알아볼 것이다. 모든 attributes에 대해 알아볼 것은 아니고 많이 사용할 거 같은 거게 대해서만 알아보겠다. 참고로 모든 attributes에 대해 알아볼려면 pandas document를 참고하면 된다. 해당 상태에서 시작하겠다. method가 아닌 attribute는 (중괄호)를 사용하지 않는다. 참조연산자를 통해 접근할 수 있다. hasnan : nan(null)값이 있으면 true를 반환한다. 우선 Nan이란 null이라고 생각하면 된다. 비어있는 값을 나타내며 numpy를 통해 나타낼 수 있다. 관계형 데이터와 비관계형 데이터의 차이 때문에 null값은 언제든지 생길 수 있다. 해당 데이터에..

Python/Pandas 2022.05.01

[Pandas] 시리즈 (Series)

시리즈 클래스는 1차원 배열을 형태를 띄고 있다. list라고 생각하면 편하다. 그런데 파이썬의 list와 다른점은 파이썬 list는 번호를 통해 인덱싱을 했다. 시리즈는 각 요소(값)에 대응하는 인덱스를 부여할 수 있다는 것이다. Series 기초 Series 속성 이제 시리즈를 만들어 보겠다. Series 기초 pd.Series()를 통해 시리즈를 생성할 수 있으며 인수로 list가 들어가야한다. 아래의 실행결과는 자동으로 나오는 것이다. 0 1 2 3 4 는 인덱스 1 2 3 4 5 는 값이다. 각각의 값마다 인덱스를 부여하였다. index attribute에 값 리스트와 동일한 길이의 리스트를 넣어주면 자동으로 mapping된다. 이때 인덱스의 개수는 시리즈의 길이와 같아야한다. (인덱스를 모두 ..

Python/Pandas 2022.04.30

[Pandas] 판다스 입문

우선 Pandas는 데이터처리를 돕는 파이썬 라이브러리이다. 파이썬을 이용한 데이터 분석에는 총 3개의 라이브러리가 필수적으로 필요하다. Numpy Pandas Matplotlib 이번에 알아볼 Pandas는 데이터 분석에 용이하다. Pandas는 기본적으로 파이썬 라이브러리이기 때문에 파이썬 문법을 사용한다. 하지만 파이썬과 차이점이 있는데 사용하는 데이터의 구조이다. Pandas에서는 총 3가지의 데이터 구조가 있다. Series DataFrame Panel 이중에서 시리즈와 데이터프레임이 가장 많이 사용된다. Pandas를 사용할 때 Anaconda의 jupyter를 많이 사용한다. 그런데 지금은 Collaboratory를 사용할 것이다. Pandas를 사용하려면 import해야한다. pd로 하는 ..

Python/Pandas 2022.04.30

[Python] Class (Class 기본, 객체)

이번에 알아볼 것은 클래스(class)이다. 참고로 이번글은 매우매우매우 주관적인 의견이 많이 들어갔으므로 그 점을 감안해야겠다. 클래스를 객체(object)의 개념을 사용해서 설명하고 싶으니 우선 객체에 대해 알아보자. 간단하게만 알아보겠다. 아래의 사진은 파이썬 공식홈페이지의 용어사전에서 object를 검색한걸 캡쳐해온 것이다. 파이썬에서 객체(object)는 선언된 모든 데이터와 정의된 모든 함수들을 포괄하는 단어다. 실체를 가지고 있는 모든 데이터는 객체라고 봐도된다. 이때 실체를 가지고 있다는 것은 '이름'을 가지고 있다는 것과 같다고 생각해도 좋다. 이름으로 접근할 수 있으면 실체가 있는 것이다. 본인은 객체를 아래와 같이 생각한다. 1차원 객체 : 변수 2차원 객체 : 함수(메소드) 3차원 ..

[Python] 함수 4 (lambda, 삼항연산자, 활용 )

def와 lambda 둘다 함수를 만들 때 사용하지만 사용 목적과 용도가 다르다. 그 사용목적과 용도중 둘의 가장 큰 차이점을 꼽자면 lambda는 이름 없는 함수를 만들고 lambda 함수에는 single expression만 사용할 수 있다는 것이다. 그리고 lambda는 간단하다. 함수를 만들 때 한 줄 이면 된다. 여기서 이해를 위해 statement와 expression의 차이점을 간단하게 설명해보자면 statement는 각각 독립적으로 실행될 수 있는 문장이고 expression은 독립적으로 실행될 수 없고 연산 또는 수식이다. 결국엔 하나의 '값'으로 계산이 된다. lambda의 사용형식부터 아래의 예제를 통해 설명하겠다. lambda 함수를 만드는 방법은 lambda parameter : ..

[Python] 함수 3 (*args, **kwargs)

이번에 알아볼 *args, **kwards는그냥 보이게도 보기에 매우 낯설어 보인다. 그러나 *args, **kwards는 매개변수의 연장선인 개념이다. 매개변수의 변형이라고 생각해도 좋다. *args, **kwards는 용도와 사용법만 알면 함수를 더욱 쉽게, 깊게 만들 수 있다. 전혀 어렵지 않다. 우선 *args부터 알아보겠다. 정식 명칭은 positional argument이다. 여기서 args는 arguments의 약자로 인수들이라는 뜻이고 중요한 것은 *(asterisk)기호 이다. 함수 선언에서 매개변수 앞에 *를 붙이는데 positional argument는 넘어오는 모든 인수의 데이터를 tuple로 받는다. tuple로 받으니 원소 수정을 불가능하지만 인덱스를 사용할 수 있다. 아래의 예..

[Python] 함수 2 (디폴트 매개변수)

파이썬에서 함수를 사용하며 빼놓을 수 없는 기능들이 있다. 매개변수 개념의 연장선인 디폴트 매개변수, *args, **kwards이다. 이번엔 디폴트 매개변수에 대해 알아보겠다. 디폴트 매개변수를 설명하기전에 알아야하는 개념이 있다. 함수의 선언과 호출시 매개변수(parameter)와 인수(argument)의 갯수가 같아야한다는 것을 기억해야 디폴트 매개변수의 용도를 이해할 수 있다. 디폴트 매개변수(default parameter)는 값을 가지는 매개변수이다. 사용 방법은 함수 선언시 매개변수에게 대입연산자를 사용해 값을 지정해주면 된다. 함수 호출시 인수가 전달되면 전달된 인수의 값이 적용되고 전달되지 않았다면 디폴트값이 적용된다. 아래의 예제를 통해 확인하겠다. 해당 예제에서는 함수 선언에서 n=5..

[Python] 함수(함수기본, 매개변수, 리턴값)

저번에 함수를 설명할 때는 함수는 어떠한 일을 대신해주는 것이라고 했다. 분명 파이썬에서 기본으로 제공되는 함수와 메소드를 사용하면 분명 원하는 결과를 빠르게 만들어낼 수 있다. 틀린말은 아니지만 이는 함수를 절반밖에 설명하지 못한다. 함수의 본래 목적은 같은 코드를 여러번 반복해서 사용하는 경우, 코드를 한 번 적어서 언제든 재활용하는 기능이고 궁극적으로는 코드의 간략화에 있다. 예를들면 1부터 n까지 수의 합을 구해주는 코드가 있다고 가정하자. 만약 1부터 n까지의 합을 여러번 구해야한다면? 30줄이 될지도 모르는 저 코드를 n까지의 합을 구해야하는 횟수만큼 적어야한다. 물론 복붙하면 되지만 이는 결과적으로만 해결이고 코드의 간략화에 있어서는 매우 안좋은 코드이다. 이처럼 사용자가 코드를 한곳에 저장..