오늘 할 일: 끝내주게 숨쉬기
[datetime] 파이썬에서 datetime을 이용하여 날짜, 시간 다루기

데이터 분석을 할 때 빠지면 섭섭한 자료형이 바로 날짜, 시간입니다. 고객이 행동을 하면 기록되는 웹페이지 로그라던가 초단위로 집계되는 기계의 자동화 시스템이 시간과 함께 저장되는 대표적인 데이터라고 할 수 있겠습니다. 시간, 시점과 관련한 분석을 실행하기 위해서는 파이썬에서 어떻게 날짜와 시간을 처리하는지 알아야겠죠. 본 포스팅에서는 파이썬에서 날짜와 시간을 다루는데 사용되는 datetime 라이브러리 사용방법에 대해 알아보겠습니다. datetime 라이브러리 소개 datetime은 파이썬에서 날짜와 시간을 다루는 클래스, 함수들을 모아놓은 라이브러리입니다. datetime 라이브러리는 날짜와 시간을 함께 저장하는 datetime 클래스, 날짜 정보를 저장하는 date 클래스, 시간 정보를 저장하는 t..

article thumbnail
[JSON] 파이썬에서 json 파일 읽기, 쓰기, 수정하기

JSON 파일이란? JSON은 JavaScript Object Notation의 약자로 JavaScript 언어의 자료형을 텍스트로 표현한 포맷입니다. 키-값 쌍으로 이루어져 있으며 사람이 쉽게 읽을 수 있도록 구성되어 있습니다. 서로 다른 시스템간에 데이터를 교환하기에 좋고, 언어가 다르더라도 데이터를 교환하는데 용이하다는 장점이 있습니다. JSON은 데이터를 키(key)와 값(value)로 표현하고, 이를 중괄호 {}로 감싸서 표현합니다. 예를 들면 {"점수" : 80} 이런 식이죠. 키는 큰따옴표로 묶은 문자열이고, 여러 개의 키-값 쌍을 저장하고 싶다면 쉼표(, comma)로 구분합니다. 만약 값으로 둘 이상의 값들을 사용하고 싶다면 대괄호 []로 묶어주면 됩니다. ex) {"singer": "T..

article thumbnail
[Flask] Flask 개념과 예제 코드 소개

Flask 소개 Flask는 파이썬에서 사용하는 경량 WSGI(Web Server Gateway Interface)로, 웹 애플리케이션을 구축할 수 있는 라이브러리입니다. Flask를 활용하면 웹 페이지, 블로그 혹은 머신러닝 예측 결과를 제공하는 웹 API를 만들 수 있습니다. 아래 그림에서 보는 바와 같이 머신러닝 모델과 프론트엔드 웹 페이지를 연결해주는 중간 다리로 사용되죠. 장고Django와 함께 파이썬 웹 프레임워크의 양대산맥으로 알려져 있습니다. Django는 이미 잘 짜여진 다양한 기능을 제공하는 반면 Flask는 심플한 대신에 사용자 자유도가 높다고 하네요. (마치 케라스와 파이토치같은..?ㅎ 아님 말고..) 이제 아래 예시에서 iris 데이터를 이용하여 모델을 만든 후, 플라스크가 모델에..

article thumbnail
[pandas] 딕셔너리를 데이터프레임의 열로 변경하는 방법

데이터프레임 형태를 갖는 어떤 데이터가 있다고 합시다. 이 데이터의 한 칼럼은 하나의 값이 아니라 여러 개의 값을 갖고 있습니다. 각각의 값들이 하나의 칼럼이 되어 새로운 값을 갖도록 하려면 어떻게 해야 할까요? 한 강의를 듣다가 문득 궁금증이 생겼는데, 강사님께서 직접 찾아보라고 하셔서 ㅎ.. 알아보았습니다. 유용하게 쓰일 법한 테크닉인데, 구현하는 방법은 굉장히 단순해서 놀랐어요. 데이터 준비 import os import pandas as pd import numpy as np from tqdm import tqdm path = '../data/movielens' movies_df = pd.read_csv(os.path.join(path, 'movies.csv'), index_col='movieId..

[pandas] object와 category의 차이

파이썬에서 tabular 형식으로 갖춰진 데이터를 다룰 때 보통 판다스를 가장 먼저 사용하죠. 판다스는 칼럼이 가질 수 있는 자료형으로 숫자, 문자, 날짜, boolen(True or False) 등을 지원합니다. 판다스로 데이터프레임을 다뤄보다가 문득 object 형식과 category 형식이 정확히 어떤 차이인지 궁금해졌어요. 그래서 이 포스팅에서는 두 형식의 개념과 차이에 대해 알아보고자 합니다. 판다스에서 자료형으로 사용되는 object와 category의 개념은 다음과 같이 이해할 수 있습니다. object 판다스에서는 문자열을 object라는 자료형으로 나타냅니다. 파이썬에서는 문자열을 string이라고 하지만, 판다스는 object라고 합니다. pd.DataFrame을 사용하여 데이터프레임을..

article thumbnail
Movielens 데이터 소개

grouplens에서 제공하는 movielens 데이터는 아래 사이트에서 다운받을 수 있습니다. 전체 데이터가 담겨있는 Full version과 이보다 적은 양의 데이터가 담겨있는 Small version이 준비되어 있는데요, Full version은 28만명의 사용자와 58000개의 영화 정보가 제공되고, Small version은 600명의 사용자와 9000개의 영화 정보가 제공된다고 합니다. 저장된 파일들의 형식은 동일하니 간단한 탐색을 위해 Full version 데이터가 아니라, Small version 데이터를 받아서 사용하겠습니다. https://grouplens.org/datasets/movielens/latest/ MovieLens Latest Datasets These datasets ..

[100 Numpy exercies] 11번 ~ 20번

11. Create a 3x3 identity matrix (★☆☆) mat1 = np.identity(3) mat2 = np.eye(3) print(mat1) print(mat2) [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] 12. Create a 3x3x3 array with random values (★☆☆) mat = np.random.random((3, 3, 3)) print(mat) [[[0.5282567 0.309261 0.76337568] [0.43948225 0.90048663 0.58643259] [0.20646 0.56080675 0.1688716 ]] [[0.50961462 0.17716085 0.857..

article thumbnail
Pandas 기초 - 요약하기

Pandas 기초 마지막 포스팅입니다. 여기서는 데이터를 요약하는 몇가지 함수들을 알아보겠습니다. describe() : 수치형 칼럼 요약 grades.describe().round(2) describe()는 수치형 값을 갖는 칼럼에 한해 count(빈도수), mean(평균), std(표준편차), min(최솟값), 25%(제1사분위수), 50%(제2사분위수), 75%(제3사분위수), max(최댓값)를 제공합니다. round(N)는 소수점 자리수에서 반올림을 해주는 함수인데, N+1번째 자릿수에서 반올림하여 소숫점 아래 숫자를 N개만 남깁니다. quantile() : 분위수 구하기 grades.quantile([0.1, 0.4, 0.7, 0.9]) 사용자가 직접 구하고 싶은 분위수를 지정하여 값을 얻을 수..

article thumbnail
Pandas 기초 - 데이터 프레임 개조하기(칼럼명 변경, 정렬, 결합)

지난 포스팅()에서는 Pandas 라이브러리를 활용하여 데이터프레임 만들기, 조회하기를 알아보았습니다. 이번 포스팅에서는 만들어진 데이터프레임을 활용하여 칼럼명 변경, 정렬, 결합 그리고 칼럼 순서 변경에 대해 알아보겠습니다. rename : 칼럼명 변경 특정 칼럼의 이름을 변경하기 위해 rename()을 사용합니다. 여기서는 Math 칼럼의 이름을 MATH로 변경하였습니다. print(grades.columns) grades.rename(columns = {'Math':'MATH'}, inplace = True) print(grades.columns) Index(['Math', 'Science', 'English', 'History'], dtype='object') Index(['MATH', 'Scie..

파이썬의 시작, 자료형

최근 파이썬이 개발뿐만 아니라 데이터 분석에도 점점 많이 쓰이고 있다고 하여(또륵...) 파이썬 공부를 시작하려고 합니다. 데이터가 방대해지면서 속도가 느린 R로는 해결이 되지 않는 부분이 생긴다고 하네요. 다년간 R을 사용한 사람으로서 개탄하지 않을 수 없는 소식입니다.. 하지만 저는 앞으로 고용시장에 던져질 예비노동자이기 때문에 배움에 정진하는데 흔들림이 없어야겠죠....ㅎㅋ 데이터 분석에 앞서 분석할 자료를 살펴보는 탐색적 자료 분석(Exploratory Data Analysis)은 반드시 필요합니다. 단순회귀분석을 하고 싶은데 데이터가 어떻게 생겼는지 살펴보지도 않고 종속변수에 문자형 변수를 넣어버리면 ㅎ 곤란합니다. 파이썬에서 기본적으로 다루는 자료형으로는 숫자형, 문자열, 리스트, 튜플, 딕셔..

반응형