Notice
Recent Posts
Recent Comments
Link
160x600
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Database
- python기초
- 데이터
- DB
- 시각화
- HeidiSQL
- python
- 딥러닝
- 데이터베이스
- 데이터전처리
- 데이터 가공
- 훈련
- sql
- pandas
- MariaDB
- 머신러닝
- keras
- 정확도
- 데이터 분석
- SQL예제
- 크롤링(crawling)
- 해석
- 회귀모델
- 예측
- sklearn
- pythone
- Oracle
- Deep Learning
- 데이터 수집
- tensorflow
Archives
- Today
- Total
코딩헤딩
[데이터 분석] 데이터 수집하기 본문
728x90
<한국 전력거래소 시간별 전력수요량 데이터 수집>
- 수집위치 : data.go.kr
공공 데이터 포털에서 공공데이터를 다운로드하여 진행했다.
* 데이터 불러오기
import pandas as pd
# - 데이터프레임 변수명 : df
file_path = "./01_data/한국전력거래소_시간별 전력수요량_20211231.csv"
df = pd.read_csv(file_path,encoding="euc-kr")
df
1. 파일 경로 및 파일 이름 지정
2. 읽어올 파일의 확장자와 인코딩 형식 지정.
* 결측데이터
df.info()
데이터 형식 확인
* 이상치데이터
df.describe()
이 단계에서 논리적으로 데이터에 오류가 있는지 확인해야 한다.
예를 들어 전력사용량의 최솟값인 min에서 마이너스 값이 나올 수 없다.
* 컬럼명 추출하기
col_list = df.columns
col_list
- 컬럼명의 시간을 데이터화하기 위해
* 3개의 열 (년도, 시간, 전력량)을 가지는 데이터프레임 생성하기
result_df = pd.DataFrame(columns=["년도", "시간", "전력량"])
result_df
데이터가 들어갈 껍데기만 만들었다.
* 데이터프레임에 데이터 행단위 추가하기
result_df = pd.DataFrame(columns=["년도", "시간", "전력량"])
for index, row in df.iterrows() :
### 년도 데이터
ymd = row[col_list[0]]
### 시간과 전력량 데이터
data = row[col_list[1:]]
### 시간과 전력량을 각각 추출하여 데이터프레임에 넣기
# - 넣을 값 : 날짜, 시간, 전력량
for time, value in data.items() :
#print(ymd, "/", time, "/", value)
### 행단위로 데이터프레임에 추가하기 위해서 추가할 행을 데이터 프레임으로 생성
df_temp = pd.DataFrame({"년도":[ymd], "시간":[time], "전력량":[value]})
### 데이터프레임에 행단위로 추가하기
# - concat() : 데이터프레임과 데이터프레임을 행단위(axis=0 <행단위> ,1 : 열단위) 또는 컬럼단위로 추가할 떄 사용.
# - ignor_idex=True : 행이 추가될 때 행 인덱스 번호를 자동증가 시키기 / 디폴트값은 False
result_df = pd.concat([result_df, df_temp], axis=0, ignore_index=True)
### 결과 출력하기
result_df
* 정제된 데이터 파일로 저장하기
### 저장할 경로 지정
save_path = "./01_data/new_data.csv"
### index = False : 인덱스 번호값은 저장하지 않기 [디폴트 : True]
result_df.to_csv(save_path, index=False)
728x90
'데이터' 카테고리의 다른 글
[데이터 분석] 교통데이터 전처리 / 시각화 (Heatmap) (0) | 2023.12.01 |
---|---|
[데이터 분석] 교통데이터 수집/가공 (2) | 2023.11.30 |
[데이터 분석] 데이터 조회하기 / 입력, 수정, 삭제 / 커서, 커넥션 (1) | 2023.11.29 |
[데이터 분석] 데이터 테이블에 저장하기 (0) | 2023.11.29 |
[데이터 분석] 데이터전처리 기초 (1) | 2023.11.28 |