LG U+ why not SW 5/python DA _ exercise
파이썬 데이터 분석 예제 _ 간단한 날씨 데이터 분석
wangatheringdata
2025. 3. 3. 02:21
파이썬
1. 순서
1) 사용 모듈 import 및 데이터 읽기
2) 분석에 사용할 데이터 저장 및 list 선언
3) '일시' 열에서 2020-07-30 부분을 DateTime 형식의 index로 만들어 : DatetimeIndex(DataFrame[기존 열]).새로운열
DataFrame에 신규컬럼('month')에 추가
4) 월 별로 분리하여 저장 및 테스트
5) 전체 데이터를 이용 1월부터 12월까지의 평균 풍속을 저장
6) matplotlib을 이용한 간단한 시각화
2. 사용 모듈 import 및 데이터 읽기
import pandas as pd
import matplotlib.pyplot as plt
weather = pd.read_csv('./data/csv/weather.csv', encoding='CP949')
weather.head(2)
weather.tail(2)
weather.info()
#결과
'''
일시 평균기온(°C) 최대 풍속(m/s) 평균 풍속(m/s)
0 2010-08-01 28.7 8.3 3.4
1 2010-08-02 25.2 8.7 3.8
일시 평균기온(°C) 최대 풍속(m/s) 평균 풍속(m/s)
3651 2020-07-30 22.9 9.7 2.4
3652 2020-07-31 25.7 4.8 2.5
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3653 entries, 0 to 3652
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 일시 3653 non-null object
1 평균기온(°C) 3653 non-null float64
2 최대 풍속(m/s) 3649 non-null float64
3 평균 풍속(m/s) 3647 non-null float64
dtypes: float64(3), object(1)
memory usage: 114.3+ KB
'''
3. 분석에 사용할 데이터 저장 및 list 선언
월 별로 구분된 12개의 데이터를 저장할 list와
월 별로 구분된 12개의 풍속 데이터를 저장할 list 생성
monthly = [0 for x in range(12)]
'''
위 코드는 이것과 같음
monthly_wind = []
for x in range(12) :
monthly_wind.append(0)
'''
monthly_wind = [0 for x in range(12)]
4. 새로운 열('month') 추가
'일시' 열의 2020-07-30 부분을 DateTime형식의 index로 만들어 새로운 열 'month' 생성 및 추가
weather['month'] = pd.DatetimeIndex(weather['일시']).month
weather.head()
#결과
'''
일시 평균기온(°C) 최대 풍속(m/s) 평균 풍속(m/s) month
0 2010-08-01 28.7 8.3 3.4 8
1 2010-08-02 25.2 8.7 3.8 8
2 2010-08-03 22.1 6.3 2.9 8
3 2010-08-04 25.3 6.6 4.2 8
4 2010-08-05 27.2 9.1 5.6 8
'''
5. 월 별 저장 및 테스트
#매 해 1월 데이터 추출 및 저장 테스트
monthly[0] = weather[weather['month'] == 1]
monthly[0]['평균 풍속(m/s)'].mean()
#매 해 12월 데이터 추출 및 저장 테스트
monthly[11] = weather[weather['month'] == 12]
monthly[11]['평균 풍속(m/s)'].mean()
6. 전체 데이터의 1월부터 12월까지의 '평균 풍속(m/s)' 저장
for 반복문을 이용해, monthly_wind에 1부터 12까지의 행을 생성하고 평균 값을 삽입.
for i in range(12): #i = 0 ~ 11
monthly[i] = weather[weather['month'] == i+1] #가장 첫 행은 0번이기 때문에 +1
monthly_wind[i] = monthly[i]['평균 풍속(m/s)'].mean()
#결과
'''
[3.7574193548387096,
3.946785714285714,
4.390291262135922,
4.62248322147651,
4.219354838709678,
3.461,
3.8774193548387097,
3.5961290322580637,
3.6616666666666666,
3.9616129032258067,
3.930666666666666,
3.817096774193548]
'''
7. matplotlib을 이용한 간단한 시각화
plt.plot(monthly_wind, 'red')
plt.show()
8. 결론
매 월 평균 풍속은 크게 차이가 없으나, 봄철인 3, 4, 5월에 소폭 상승하는 양상을 보인다.