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월에 소폭 상승하는 양상을 보인다.