전체 글 187

[DB] MongoDB

문서 모델 속성 값은 간단한 데이터 타입, 배열, 다른 문서도 가능하다. 문서의 구조가 다양하다. 미리 정해진 스키마가 존재하지 않는다. 수평적인 확장성이 좋다. 단, 무결성과 정합성을 보장하지 않기 때문에 장단점이 있다. RDB와 Key-Value 구조의 장점을 결합하여 설계되었다. 질의어 설명 MongoDB (shell) 시스템의 모든 데이터베이스 출력 show dbs 데이터베이스에 정의된 컬렉션 목록 출력 show collections 하나의 데이터베이스에 대한 상세정보 출력 db.stats() 하나의 컬렉션에 대한 상세정보 출력 db.컬렉션명.stats() 데이터베이스 생성 use 데이터베이스명 컬렉션 생성 (생성 안하고 바로 insert하면 자동으로 생김) db.createCollection(컬..

[SQL] 연습 2022.05.01

MapReduce

MapReduce 개념과 특징 HDFS에 저장된 파일을 분산 배치분석 할 수 있게 도와주는 프레임워크 분할 정복 방식으로 대용량 데이터를 병렬 처리 비공유 아키텍쳐 Map 입력 데이터를 가공 Reduce 맵의 결과를 집계(shuffle) 단계를 거쳐 리듀스의 입력으로 전송 하둡 맵리듀스 아키텍처 네임노드(NameNode) 하둡을 이루는 가장 기본적이고 필수적인 데몬으로, 네임 스페이스를 관리하는 마스터 역할을 수행 데이터노드(DataNode) 분산 파일 시스템의 데몬으로 파일의 실질적인 데이터 입출력에 대한 처리를 수행 잡트래커(JobTracker) MapReduce 시스템에서 job이라는 작업을 관리하는 마스터에 해당 (클러스터에 1개의 잡트래커가 존재) 태스크트래커(TaskTracker) 작업을 수행..

이론 2022.04.30

[R] aggregate() 함수

aggregate() 함수는 데이터의 통계량을 계산해주는 함수이다. Splits the data into subsets, computes summary statistics for each, and returns the result in a convenient form. 함수의 기본 형태 # 'data.frame' aggregate(data, by, FUN, ...) # 'formula' aggregate(formula, data, FUN, ...) by a list of grouping elements, each as long as the variable in the data frame x. The elements are coerced to factors before use. FUN a function ..

[R] 연습 2022.04.29

[DB] 데이터베이스 개념

데이터베이스 개념 정보시스템 → 가공 이전의 데이터나 가공 이후 생성된 정보 저장소 필요 → 데이터베이스 데이터와 정보는 연쇄적인 처리 과정 안에 서로의 입,출력으로 반복 사용될 수 있다. 정보시스템이란? - 한 조직의 활동과 운영에 필요한 데이터를 수집, 저장해 두었다가 다양한 방식으로 처리 및 가공함으로써 의사 결정에 필요한 정보를 생성하는 소프트웨어 체계 - 책이나 언론 매체, 사람 등의 전통적 방식으로는 불가능했던 대량의 정보 소비는 다양한 정보시스템을 통해서만 가능함 전통적 파일 정보 시스템의 문제점 1. 데이터 종속성(data dependency)의 증가: 파일 안의 저장 방식이나 접근 방법을 변경할 경우, 연관된 모든 응용 프로그램도 함께 수정되어야 하는 데이터 종속성 문제 발생 2. 데이터..

이론 2022.04.23

[R] 데이터프레임 관련 함수 및 코드

아래는 R에서의 데이터프레임 관련 기본 함수들과 코드를 작성해 놓은 것이다. 함수 코드 ncol(df) data frame 열의 개수 nrow(df) data frame 행의 개수 dim(df) data frame 열 및 행의 개수 length(df) data frame 변수 개수 names(df) data frame 열 이름 rownames(df) / row.names(df) data frame 행 이름 colnames(df) / col.names(df) data frame 열 이름 ls(df) 칼럼명 확인 dataframe[c(1, 2), ] 1, 2행 dataframe[c(1, 2, 3)] 1, 2, 3열 head(df, 5) 데이터 앞부분 값 확인 tail(df, 5) 데이터 뒷부분 값 확인 # ..

[R] 연습 2022.04.17

[Excel] 엑셀에서 다른 시트, 다른 문서로 가는 링크 만들기

엑셀을 활용하면서 여러 시트에 걸쳐 작업을 하다보면 해당 엑셀 파일의 다른 시트나 작성 중인 다른 문서로 손 쉽게 이동할 수 있는 링크를 만들고자 하는 경우가 있습니다. 오늘은 이 방법에 대해 알아보고자 합니다. 링크 만들기 아래와 같은 엑셀 파일에서 B4셀에 연습시트2로 이동할 수 있는 링크를 만들고자 합니다. 이 때, B4셀을 선택한 후, 단축키 [Ctrl + K]를 누르거나 상단의 [삽입]탭에서 [링크]를 선택해줍니다. 아래와 같이 하이퍼링크 삽입 창이 뜨면, 선택 메뉴 중에 [웹 페이지 또는 파일], [이 문서], [전자 메일 주소]가 있는데, [이 문서]를 선택하고 연결하고자 하는 시트를 선택해줍니다. [확인] 버튼을 누르고 다시 원래 시트로 돌아와 보면, 해당 위치에 링크가 생성된 것을 볼 수..

워크시트 2022.04.16

[Python] 결측값 처리하기(dropna)

결측값이 있는 행이나 열을 삭제하고자 하는 경우에는, dropna() 함수를 사용하면 된다. DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) Parameter 설명 axis 0 또는 'index'로 하면, 행에 대한 제거 (디폴트) 1 또는 'columns'로 하면, 열에 대한 제거 how 'any'는 행 혹은 열 방향으로 결측값이 하나라도 있으면 제거 (디폴트) 'all'은 모든 값이 결측값이면 제거 thresh 최소 n개가 결측값이 아니면 그 행(또는 열)을 제거하지 않음 예를들어 thresh = 4로 지정하면 그 행(또는 열)에 최소한 4개의 값은 결측값이 아닌 경우를 제외하고 나머지는 다 제거 subset 특..

[Python] 연습 2022.03.27

[Python] Series

파이썬에서의 Series는 어떤 데이터 타입이든 보유할 수 있는 1차원 배열 자료구조이다. Series는 index, value, data type 집합으로 구성되고 리스트 자료형으로 생성이 가능하다. # Series를 생성하기 위해서 pandas를 먼저 import한다. import pandas as pd # Series 생성 mySeries1 = pd.Series([2, 6, 4, 8]) print(mySeries1) 위의 결과를 보면 각 값에 대한 index는 0, 1, 2, 3으로 부여된 것을 알 수 있다. 아래와 같이 index, value, dtype에 대한 내용도 확인이 가능하다. # Series에 저장된 값 확인 print(mySeries1.values) # 결과:[2 6 4 8] # In..

[Python] 연습 2022.03.26

[Python] 데이터 정규화

데이터를 분석하다보면 정규화가 필요한 경우를 종종 마주하게 된다. R에서도 정규화에 대한 내용을 다루었지만 파이썬을 이용해서 정규화를 쉽게 하는 방법에 대해서 알아보고자 한다. scikit-learn의 MinMaxScaler를 통해서 정규화 하는 예시는 아래와 같다. from sklearn.preprocessing import MinMaxScaler data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]] scaler = MinMaxScaler() print(scaler.fit(data)) # 결과: MinMaxScaler() print(scaler.transform(data)) # 결과: [[0. 0. ] [0.25 0.25] [0.5 0.5 ] [1. 1. ]] 처음에는 Mi..

[Python] 연습 2022.03.25

[Excel] 엑셀 중복 데이터 제거

엑셀을 다루다보면 하나의 열에서 고유한 값들만 보고싶은 경우가 있습니다. 따라서 이번에는 열안에서 중복된 항목을 제거하여 쉽게 고유값만 볼 수 있도록 하는 방법에 대해서 알아보겠습니다. 아래와 같은 예시 데이터가 있다고 하면, 회원ID, 회원등급, 생년월일이 모두 일치하는 경우에 대해서 중복된 행을 제거할 것입니다. 데이터 전체를 범위로 지정해주고(이때, '회원ID'와 같은 열 머리글이 포함되어도 상관 없습니다), 상단 [데이터] 메뉴 → [중복된 항목 제거] 를 선택합니다. 만약 데이터의 범위가 커서 전체를 선택하기 어렵다면 마우스로 드래그 하는 것 보다 단축키를 이용하는 것이 낫습니다. Ctrl + A를 누르면 데이터가 입력된 전체 범위를 선택합니다. 혹은 Ctrl + Shift + 방향키를 사용해도..

워크시트 2022.03.20

[Tableau] 나이 계산하기

이번 태블로 포스팅에서는 고객의 나이를 알아보는 방법에 대해서 다루고자 합니다. 사용한 태블로 버전: Tableau Desktop 2021.4 사용한 데이터: 예시 구매내역 데이터 목표 화면: 아래 목표 화면은 각 회원별 나이에 대한 테이블입니다. 시작하기 전에: 원본 예시 데이터는 아래와 같이 각 회원의 '회원ID', '생년월일' 등의 컬럼으로 구성되어 있습니다. 방법1: 나이를 연도로만 계산하려면 DATEDIFF 함수를 사용해서 계산된 필드를 생성해주면 됩니다. 1-1. 아래와 같이 계산된 필드를 생성합니다. DATEDIFF 함수를 활용해서 [생년월일]과 #2022#년도 사이의 'year'연도의 차이를 계산합니다. 예를 들어 1995년 11월 24일생인 JJ3840 회원은 2022년에 27세로 계산됩..

[Tableau] 연습 2022.03.19

[Tableau] 고객 첫 구매일, 첫 구매 상품 계산하기

이번 태블로 포스팅에서는 고객의 첫 구매일, 첫 구매 상품을 알아보는 방법에 대해서 다루고자 합니다. 사용한 태블로 버전: Tableau Desktop 2021.4 사용한 데이터: 예시 구매내역 데이터 목표 화면: 아래 목표 화면은 각 회원별 첫 구매 일자와 당시 구입한 상품에 대한 테이블입니다. 시작하기 전에: 원본 예시 데이터는 아래와 같이 각 회원의 '결제일시', '구매상품', '회원등급', '회원ID' 컬럼으로 구성되어 있으며, 각 결제일시는 섞여있어서 바로 파악하기가 쉽지 않습니다. 1단계: 첫 구매 일자를 계산하는 필드를 생성해줍니다. 1-1. 아래와 같이 계산된 필드를 생성합니다. 회원ID 차원만 활용하여 결제일시에 대한 최소값(MIN)을 계산해주면 각 회원에 대한 최소 결제일, 즉 첫 구매..

[Tableau] 연습 2022.03.18