데이터 사이언티스트(Data scientist)를 쉽게 설명하는 60초 짜리 짧은 동영상을 트위터에서 발견했습니다.
동영상이 괜찮은 것 같아서 공유합니다.
https://twitter.com/Fisher85M/status/935950475542847491/video/1
데이터 과학, 데이터 사이언스, 데이터 분석, 빅데이터, 개발, Data science, Big Data, Statistics, Computer Science, Data Analytics, Data Analysis
데이터 사이언티스트(Data scientist)를 쉽게 설명하는 60초 짜리 짧은 동영상을 트위터에서 발견했습니다.
동영상이 괜찮은 것 같아서 공유합니다.
https://twitter.com/Fisher85M/status/935950475542847491/video/1
테이블의 컬럼들을 한 컬럼으로 내리고 값을 따로 빼는 것을 melt(melting)라고 합니다.그 반대로 값을 컬럼으로 올리는 작업을 cast (casting)라고 합니다.
이런 것을 엑셀이나 DB에서는 pivot(pivoting 추축) 이라고도 하고 또 transform이라고도 말합니다.
R과 python에서 melt하는 간단한 코드 스니펫을 올립니다. Google에 검색을 하면 다 나오는 것이지만 순전히 제 편의를 위해서 올려둡니다.
R은 특히 ggplot2를 사용할 때 facet을 쓰려면 melt된 상태여야 하는 것이 있어서 연습이 필요합니다만 늘 까먹습니다. (전 바보인가봐요)
R코드입니다.
다른 방법도 많지만 R은 reshape2 패키지를 쓰는 것이 편합니다.
1 2 3 4 5 6 7 |
# install.packages("reshape2") library(reshape2) # 해들리 만세 iris # 이렇게 생겼어요 iris.molten <- melt(iris, id.vars=c("Species")) # Species 는 놔두고 모두 멜트 iris.molten # melt한 data.frame |
python코드입니다.
python은 당연히 Pandas에 melt 함수가 있습니다.
1 2 3 4 5 6 7 8 9 |
from sklearn import datasets # iris data 때문에 로딩했어요 import pandas as pd # 팬더스 import numpy as np # 데이터 변환을 하는데 numpy가 필요할 뿐이었어요 iris = datasets.load_iris() # 예제를 위해서 iris가 필요할 뿐 print(iris) # 이렇게 생겼는데 iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names) # 일단 iris가 dataframe이 아니어서 바꿈 print(pd.melt(iris_df)) # 이렇게 바뀝니다 |