# building 데이터에 연, 월, 일, 시, 분, 초를 나타내는 새로운 컬럼을 생성합니다.# 각각의 이름을 datetime-month/day/hour/minute/second라고 지정합니다.# 이 컬럼에 날짜(datetime) 컬럼의 dt(datetime의 약자입니다) 옵션을 활용하여 월일시분을 따로 넣어줍니다.
building["datetime-month"] = building["datetime"].dt.month
building["datetime-day"] = building["datetime"].dt.day
building["datetime-hour"] = building["datetime"].dt.hour
building["datetime-minute"] = building["datetime"].dt.minute
# dayofweek는 날짜에서 요일(월~일)을 가져오는 기능입니다.# 값은 0(월), 1(화), 2(수), 3(목), 4(금), 5(토), 6(일) 을 나타냅니다.
building["datetime-dayofweek"] = building["datetime"].dt.dayofweek
# building 변수에 할당된 데이터의 행렬 사이즈를 출력합니다.# 출력은 (row, column) 으로 표시됩니다.print(building.shape)
# .head()로 building 데이터의 상위 5개를 띄우되,# datetime과 이와 연관된 나머지 다섯 개의 컬럼만을 출력합니다.
building[["datetime", "datetime-month", "datetime-day",
"datetime-hour", "datetime-minute", "datetime-dayofweek"]].head()
(78052, 17)
datetime
datetime-month
datetime-day
datetime-hour
datetime-minute
datetime-dayofweek
0
2014-04-09 21:52:54
4
9
21
52
2
1
2014-04-09 21:52:55
4
9
21
52
2
2
2014-04-09 21:52:56
4
9
21
52
2
3
2014-04-09 21:52:57
4
9
21
52
2
4
2014-04-09 21:52:58
4
9
21
52
2
# 이번에는 seaborn의 barplot으로 시간대별 전력 소비량을 출력합니다.
sns.barplot(data=building, x="datetime-hour", y="Power")
# 이 시각화의 전체 사이즈는 15x5로 설정합니다.
plt.gcf().set_size_inches(15, 5)
# matplotlib의 subplots를 사용합니다. 이 함수는 여러 개의 시각화를 한 화면에 띄울 수 있도록 합니다.# 이번에는 2x2으로 총 4개의 시각화를 한 화면에 띄웁니다.
figure, ((ax1, ax2)) = plt.subplots(nrows=2, ncols=1)
# 시각화의 전체 사이즈는 18x8로 설정합니다.
figure.set_size_inches(18, 10)
# seaborn의 barplot으로 subplots의 각 구역에# 월, 일, 시, 분 별 전력 소비량을 출력합니다.
sns.barplot(data=building, x="datetime-hour", y="washing machine", ax=ax1)
sns.barplot(data=building, x="datetime-hour", y="Coffee machine", ax=ax2)