판다스(Pandas)는 파이썬에서 데이터 조작 및 분석을 할 때 많이 사용되는 라이브러리입니다. 데이터분석, 데이터정렬, 그룹화, 결측치 처리 등등 유용한 기능들을 많이 제공하고 있어 데이터를 다뤄야 하는 과학 분야에서 널리 사용되고 있습니다. 이번 포스팅에서는 판다스(Pandas)에 대한 간단한 사용법에 대해 알아보도록 하겠습니다. 그전에 판다스(pandas)가 설치되어 있지 않으신 분들은 아래 포스팅을 참고하셔서 설치를 먼저 하시길 바랍니다. ※ 파이썬 판다스 설치 방법은 아래 글을 참고하시기 바랍니다. [Python] 파이썬 판다스(Pandas) 설치 / 다운로드 하기 + 버전 확인 판다스의 데이터 구조 판다스의 데이터 구조에는 시리즈(Series)와 데이터(dataFrame)으로 나뉘어 있습니다...
이번 포스팅에서는 파이썬의 핵심 라이브러리라고 할 수 있는 판다스(Pandas)를 설치하는 방법에 대해 알아보도록 하겠습니다. 판다스(Pandas)는 파이썬의 데이터 조작 및 분석 모듈로 데이터를 다루고 표나 차트 형태의 보여주는데 사용되며 빅데이터, 머신러닝 등 다양한 분야에서 활용되고 있습니다. 판다스(Pandas) 설치 / 다운로드 1. 윈도우 검색창에서 cmd를 입력하여 명령 프롬프트를 실행시켜 줍니다. pip install pandas 2. 명령 프롬프트에 위의 명령어를 입력하고 Enter를 누릅니다. 3. 인터넷 환경에서 파이썬 판다스를 다운로드합니다. 오래 걸리지는 않으니 조금만 기다려 줍시다. 판다스(Pandas) 설치 버전 확인 import pandas as pd print(pd.__ve..
웹 크롤링(Web Crawling)은 웹 사이트를 자동으로 서치하고 데이터를 수집하는 프로세스를 뜻합니다. 그리고 이 웹 크롤링은 파이썬이 강점을 가지고 있습니다. 파이썬이 웹 크롤링에 필요한 여러 가지 라이브러리와 풍부한 생태계를 갖추고 있기 때문입니다. 그중에서도 requests와 BeautifulSoup 라이브러리를 많이 사용하는데요. 이번 포스팅에서는 이 라이브러리를 사용하여 크롤링하는 방법에 대해 알아보도록 하겠습니다. 파이썬에서 웹 크롤링 하는 법 라이브러리 다운로드(requests, beautifulsoup) 일반적으로 파이썬 웹 크롤링은 requests 라이브러리를 사용하여 웹 페이지의 HTML을 가지고 오고, beautifulsoup를 사용하여 HTML코드를 사용하기 쉽게 나눠주는 파싱이..
데이터를 효율적으로 관리하기 위해 우리는 데이터베이스를 사용합니다. 하지만 간단한 프로그램에서 별도의 데이터베이스를 연결하는 것이 번거로운 작업일 수 있겠죠. 이럴 때는 파이썬에서 기본적으로 제공하는 SQLite3 모듈을 사용하면 별도의 DB연동 없이 데이터베이스를 사용할 수 있는데요. SQLite는 파이썬에서 제공하는 데이터베이스 라이브러리로 경량이면서 별도의 서버가 필요 없이 사용할 수 있는 내장형 데이터베이스 엔진으로 가볍게 사용하기에 좋습니다. 파이썬 SQLite3 모듈 사용법 SQLite 연결하기 import sqlite3 # SQLite 연결 객체 생성 con1 = sqlite3.connect('test.db') # 파일 DB접속 con2 = sqlite3.connect(':memory:') ..
컴퓨터에서 소수는 어떻게 계산할 수 있을까요? 컴퓨터는 숫자를 이진법으로 표현하기 때문에 먼저 10진법의 소수를 이진법으로 변환한 뒤 연산을 해야 합니다. 이 과정에서 대부분의 소수는 오차가 발생하게 되는데요. 왜냐하면 십진법의 소수를 2의 음의 제곱으로 이진법으로 변환해주어야 하는데 많은 소수들이 완벽하게 변환될 수 없기 때문입니다. 무한소수가 되어버리는 경우들이 상당히 많습니다. 또한 무한소수는 변수에 저장될 수 없습니다. 메모리의 크기에 한계가 있기 때문입니다. 그래서 근사값으로 소수를 저장합니다. 메모리가 허용하는 범위 내에서 소수를 최대한 저장하고 끝의 자리에서 반올림을 해서 저장하는 것입니다. 이 과정에서도 불가피하게 오차가 발생합니다. 예를 들자면 0.1은 이진수로 정확히 표현되지 않아서 근..
프로그래밍에서 유의미한 데이터가 생성되었다면 이것을 어딘가에 기록해두어야 합니다. DB를 사용하면 가장 좋겠지만 간단한 데이터들은 DB를 사용하지 않고 파일 형태(ex : txt 파일)로 어딘가에 저장해 뒀다가 사용할 수도 있겠죠. 이번 포스팅에서는 파이썬에서 파일 입출력 하는 방법에 대해 알아보도록 하겠습니다. ※ 파일 입출력이란 로컬 파일의 데이터를 읽거나 반대로 파일에 데이터를 쓰는 작업을 뜻하며 쉽게 메모장이나 바이너리 파일에 텍스트를 넣거나 불러오는 과정을 뜻한다고 생각하시면 되겠습니다. 파일 열기와 닫기(open, close) # 파일 열기 # 변수명 = open("파일경로/파일이름.txt", "모드") new_file = open("sample.txt", "w") # 파일 닫기 new_fil..
클래스의 주요 특징 중 하나는 바로 '상속'이 된다는 점입니다. 부모 클래스를 자식이 상속받으면 별도의 정의 없이 부모 클래스의 속성과 메서드를 자식 클래스에서 재사용할 수 있습니다. 이번 포스팅에서는 상속을 받으면 얻는 이점과 파이썬에서 클래스를 상속하는 방법에 대해 알아보도록 하겠습니다. 클래스 상속 시 얻는 이점들 코드 재사용 : 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스에서 그대로 재사용할 수 있습니다. 이를 통하여 중복된 코드를 피할 수 있고 소스코드 유지보수가 쉬워집니다. 확장성 : 자식 클래스는 부모 클래스의 기능을 확장하거나 변경할 수 있습니다. 자식 클래스에 새로운 메서드를 추가하거나 부모 클래스의 메서드를 오버라이드하여 원하는 동작을 재정의할 수 있습니다. 다형성 : 상속을..
객체지향 언어들의 특징은 클래스를 사용할 수 있다는 것입니다. 클래스는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념으로, 코드를 구조화, 모듈화 하여 유지보수성을 향상하고 코드 재사용을 촉진하는 등 다양한 장점들을 제공합니다. 아마 클래스를 사용함에 따라 얻는 장점은 익히 알고 계시겠지만 모르는 분들을 위해서 간략한 예시를 들어보겠습니다. 쿠키 틀 -> 클래스(class) 쿠키 틀을 사용하여 만들어진 쿠키 -> 객체(object) 쿠키를 무한정 생성해야한다고 가정해 보겠습니다. 그럼 일일이 쿠키들을 만들어줘야 할까요? 수제 쿠키보다는 공장에서 찍어내는 쿠키가 훨씬 효율적이지 않을까요? 클래스를 사용하면 공장식으로 쿠키들을 찍어낼 수 있습니다. 쿠키 틀은 ..
람다식(lambda expression) , 람다함수(lambda function)라는 용어를 들어보셨나요? 이 용어들은 익명 함수(anonymous function)를 표현하는 방법으로 익명 함수는 이름이 없는 함수를 뜻합니다. 즉, 함수를 정의할 때 함수의 이름을 명시적으로 지정하지 않고, 필요한 매개변수와 함수 본문만을 사용하여 함수를 생성하는 것을 의미합니다. 특정 기능을 수행하는 함수들을 한 줄로 작성이 가능하기 때문에 주로 간단한 작업을 수행하는 함수나 일회성으로 사용되는 함수를 정의할 때 사용합니다. 람다식 특징 람다식은 이름이 없는 익명 함수로 정의됩니다. 주로 한 줄로 간단한 연산을 수행하는 함수를 정의할 때 사용됩니다. 람다식은 변수에 할당하거나 다른 함수(map, filter, sor..
함수(function)는 어떠한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합으로 정의할 수 있겠습니다. 이렇게 특정 코드를 묶어 하나의 함수로 사용하면 계속 재사용할 수 있기 때문에 반복적인 프로그래밍을 피할 수 있습니다. 또한 이렇게 함수를 통해 캡슐화를 진행하게 되면 유지보수 및 코드 가독성측면에서도 유리합니다. 파이썬에서는 def 라는 키워드로 함수를 정의할 수 있는데요. 이번 포스팅에서는 파이썬에서 함수를 사용하는 방법에 대해 알아보도록 하겠습니다. 파이썬 함수(function) 사용법 - 기초 함수 정의하기 #def 함수이름(매개변수1, 매개변수2, ...): # 함수 실행할 코드 # return 반환값 def add(a, b): result = a + b return result..
게임에서 보면 무작위 확률, 무작위 아이템과 같은 "무작위"라는 용어가 많이 나옵니다. 그렇다면 우리는 이 무작위를 어떻게 구현할 수 있을까요? 프로그래밍에서는 무작위, 즉 예측할 수 없는 값을 생성하는데 임의의 숫자값 난수를 사용합니다. 파이썬에서 난수를 생성하려면 파이썬의 기본 라이브러리인 random 모듈을 사용하는데요. random 모듈은 다양한 난수 생성 함수를 제공하여 다양한 유형의 난수를 생성할 수 있습니다. 파이썬 난수 사용법 특정 범위의 난수 생성 - randint(x, y) import random random_integer = random.randint(1, 10) print(random_integer) 결과 : 9 특정 범위에서 임의의 정수값을 추출하려면 randint() 메서드를 ..
한 남자와 여자가 사랑에 빠졌습니다. 사귀기로 한 날을 기점으로 100일 후, 3달 뒤, 1년 뒤를 기념일로 지정하기로 했습니다. 파이썬에서는 이런 상황에서 어떻게 날짜를 특정할 수 있을까요? 이번 포스팅에서는 특정 날짜를 기준으로 이전 날짜, 이후 날짜를 계산하는 방법에 대해서 알아보도록 하겠습니다. timedelta 객체 사용 (n일 뒤, n일 전 계산) from datetime import datetime, timedelta today = datetime.today() day1 = timedelta(days=100) # 100일 뒤 day2 = timedelta(days=30*2) # 2달 뒤 day3 = timedelta(days=365*3) # 3년 뒤 print("현재 날짜:", today) ..
프로그래밍을 하다 보면 두 개의 날짜를 비교해야 하는 경우들이 종종 생기게 됩니다. 파이썬에서는 주로 datetime 모듈을 사용하여 두 날짜를 비교하게 되는데요. 이번 포스팅에서는 두 개의 날짜를 비교하는 방법에 대해 알아보도록 하겠습니다. 파이썬에서 두 날짜를 비교하는 방법 오늘 날짜와 특정 날짜의 비교 from datetime import datetime today = datetime.today() d_day = datetime(2020, 1, 1) if today d_day: print("오늘은 지정된 날짜보다 이후입니다.") else: print("오늘과 지정된 날짜가 같습니다.") 아마 빈도수가 가장 높..