데이터 분석 언어로 R이 주로 사용됩니다일반적으로 익숙한(?) SQL 쿼리를 R에서 어떻게 사용되는지 확인해 보겠습니다.


1. csv 파일 로드

이번 분석을 위한 샘플 CSV 파일을 로드합니다.

sample_data.csv

sample_data_2.csv

sample_data_3.csv


2. SELECT A, D

setwd("csv파일이 있는 경로")
sample.data.1 <- read.csv(file="sample_data.csv", sep=",")
sample.data.2 <- read.csv(file="sample_data_2.csv", sep=",")

3. SELECT A, D FROM table WHERE D = 1

sample.data.1[sample.data.1[,"D"] == 1,]
혹은
sample.data.1[sample.data.1[,4] == 1,]
혹은
subset(sample.data.1, D=="1")

4. UPDATE D = 5 WHERE D = 1

sample.data.1["D"][sample.data.1["D"] == 1,] <- 5


5. INSERT INTO table(A,B,C,D) VALUES(100, 200, 300, 3)

sample.data.1 <- rbind(sample.data.1, list(100,200,300,3))


6. DELETE WHERE D = 5

sample.data.1 <- sample.data.1[sample.data.1$D != 5,]


7. ORDER BY D 

sample.data.1[order(sample.data.1$D),] (ACS 방식)
sample.data.1[order(-sample.data.1$D),] (DESC 방식)
8. JOIN
merge.data <- merge(sample.data.1, sample.data.2, by="D")
merge.data <- merge(sample.data.1, sample.data.3, by.x = "D", by.y = "F")


데이터 분석 언어로 pythonpandas가 주로 사용됩니다. 일반적으로 익숙한(?) SQL 쿼리를 Pandas에서 어떻게 사용되는지 확인해 보겠습니다.


1. csv 파일 로드

이번 분석을 위한 샘플 CSV 파일을 로드합니다.

sample_data.csv

sample_data_2.csv

sample_data_3.csv


import pandas as pd 

sample_data_1 = pd.read_csv('sample_data.csv')
sample_data_2 = pd.read_csv('sample_data_2.csv')


2. SELECT A, D

sample_data_1[["A", "D"]]


3. SELECT A, D FROM table WHERE D = 1

sample_data_1[sample_data_1['D'] == 1][['A', 'D']]


4. SELECT * FROM table LIMIT 5 OFFSET 3

sample_data_1[3:3+5]


5. UPDATE D = 5 WHERE D = 1

sample_data_1.ix[sample_data_1.ix[:,'D'] == 1, "D"] = 5
혹은
sample_data_1.ix[sample_data_1.ix[:,'D'] == 1, 3] = 5


6. INSERT INTO table(A,B,C,D) VALUES(100, 200, 300, 3)

sample_data_1.loc[len(sample_data_1) +1 ] = [100, 200, 300, 3]


7. DELETE WHERE D = 5

sample_data_1 = sample_data_1[sample_data_1.D != 5]


8. ORDER BY D 

sample_data_1.sort_values(["D"], ascending=[True])
sample_data_1.sort_values(["D"], ascending=[False])

sample_data_1.sort_values(["D", "C"], ascending=[True, False])
sample_data_1.sort_values(["D", "C"], ascending=[True, True])

+ Recent posts