728x90
반응형
반응형

목차 ▽열기

- seoul.csv 파일을 읽어와 데이터를 확인합니다.
- 파일 인코딩은 cp949로 설정합니다.
df = read_csv('../data/seoul.csv',encoding = 'cp949')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
%matplotlib inline
import platform
문제 1. 가장 더운 날 찾기
가장 더운날은 언제입니까?
풀이 1.
import pandas as pd
df['최고기온(℃)'].max()
max_temp = df['최고기온(℃)'].max()
df.loc[df['최고기온(℃)'] == max_temp]
출력
- 최고기온은 38.4℃이며, 1994년 7월 24일에 기록되었습니다.

문제 2. 최고기온 히스토그램 생성
최고기온을 히스토그램으로 나타내되, bin의 범위를 4도로 만들어서, 히스토그램으로 보여주세요.
- 최고기온 데이터에 대해 히스토그램을 생성합니다.
- bins의 간격을 4도로 설정합니다.
import numpy as np
import matplotlib.pyplot as plt
# 히스토그램 범위 설정
my_bins = np.arange(df['최고기온(℃)'].min(), df['최고기온(℃)'].max() + 4, 4)
# 히스토그램 시각화
plt.hist(data=df, x='최고기온(℃)', bins=my_bins, rwidth=0.8)
plt.title('최고기온 히스토그램')
plt.xlabel('최고기온 (℃)')
plt.ylabel('빈도')
plt.show()
코드분석
np.arange(. , +4, 4) : +4 한 이유는 최저 온도와 최고 온도의 온도를 표시하기 위함입니다.
np.arange( df['최고기온(℃)'].min(),df['최고기온(℃)'].max()+4, 4 )
#array([-16.3, -12.3, -8.3, -4.3, -0.3, 3.7, 7.7, 11.7, 15.7,
19.7, 23.7, 27.7, 31.7, 35.7, 39.7])
출력
- 최고기온 분포를 4도 간격으로 나눈 히스토그램이 생성됩니다.

문제 3. 2014년 이후 데이터 필터링 및 히스토그램 생성
위에서는 모든 날짜에 대한 데이터 입니다. 그러면! 2014년도 부터의 데이터를 기준으로, bin의 범위를 4도로 만들어서, 히스토그램으로 보여주세요.
풀이 3.
- 2014년 이후 데이터만 필터링합니다.
- 필터링된 데이터를 기반으로 히스토그램을 생성합니다.
# 2014년 이후 데이터 필터링
df_2014 = df.loc[df['날짜'] >= '2014-01-01']
# 히스토그램 생성
plt.hist(data=df_2014, x='최고기온(℃)', bins=my_bins, rwidth=0.8)
plt.title('2014년 이후 최고기온 히스토그램')
plt.xlabel('최고기온 (℃)')
plt.ylabel('빈도')
plt.show()
출력
- 2014년 이후 데이터만으로 구성된 히스토그램이 생성됩니다.

번외 문제 3-1. 기간산정 스캘레터 작성
## 2017-08-01 에서 2017-08-15까지의 날짜를 기준으로 X축은 날짜 Y축은 최고기온을 기준으로 스캘래터로 작성하시오
번외 풀이 3-1.
df[(df['날짜'] >= '2017-08-01') & (df['날짜'] <= '2017-08-15')]
# 특정 기간의 데이터로 기준최고기온 설정
df_3 = df[(df['날짜'] >= '2017-08-01') & (df['날짜'] <= '2017-08-15')]
df_3
plt.figure(figsize = (20,10))
plt.scatter(data = df_3, x = '날짜', y = '최고기온(℃)' )
plt.title('날짜 기준별 최고 온도')
plt.xlabel('날짜 (2017-08-01 ~ 2017-08-15)')
plt.ylabel('최고기온')
plt.show()


출력

TIP💡 점 크기 변경
plt.scatter(x, y, s=300) : s 점의 크키를 성정해주시면 됩니다.
sizes = [50, 100, 200, 300, 500] 순으로 설정가능합니다.
4. 주요 학습 포인트
- 데이터 전처리
- Pandas를 활용한 데이터 필터링 및 조건 검색.
- 특정 열의 최대/최소값을 구하고 조건에 따라 데이터 선택.
- 시각화
- Matplotlib로 히스토그램과 스캐터 플롯 생성.
- 데이터 분포와 관계를 효과적으로 표현.
- 실무 적용
- 서울의 기온 데이터를 분석하며 데이터 기반 의사결정에 필요한 통찰 제공.
728x90
반응형
'AI > 실습' 카테고리의 다른 글
121. [Python] [Pandas] 프로그래밍 실습 : 범죄현장 (1) | 2025.01.25 |
---|---|
120. [Python] [Pandas] 프로그래밍 실습 : 구글맵API 연동 (0) | 2025.01.24 |
119. [Python] [Pandas] 프로그래밍 실습 : (피어슨 상관 계수)CCTV (0) | 2025.01.24 |
118. [Python] [Pandas] 프로그래밍 실습 : CCTV (0) | 2025.01.24 |
117. [Python] [Pandas] 프로그래밍 실습 : 대중교통 (1) | 2025.01.24 |