결측값 처리
- fillna()
⁂ 행과 열 치환하기 , 전치행렬 ⁂
- .T , transpose()
- 치환후 데이터타입은 object
데이터타입 변환
- astype()
⁂ 이전 행/ 다음행 의 값으로 새로운 컬럼 만들기⁂
- df['컬럼명'].shift(1)
- df['컬럼명'].shift(-1)
⁂ zip ⁂
- 각 리스트들의 요소를 한개씩 뽑아서 튜플 형태로 반환
- 리스트들의 길이가 동일하지 않다면 가장 짧은 리스트 요소까지 반환
lista = ['a','b','c']
list1 = [1,2,3]
list2 = ['가','나','다']
list3 = [4,5,6]
list4 = ['+','*','&']
listall = zip(lista, list1, list2,list3,list4)
for d in listall :
print(d)
#결과
('a', 1, '가', 4, '+')
('b', 2, '나', 5, '*')
('c', 3, '다', 6, '&')
데이터 시각화
- plot(kind = 'scatter')
- plot(kind = 'hist')
- plot(kind = 'bar')
연합그래프 그리기
'''
ax1 : 막대그래프 영역. pnadas.plot 함수로 그래프 작성
ndf[['수력','화력']] : 수력, 화력데이터로만 그래프 작성
width=0.7 : 막대그래프 넓이
stacked=False 막대를 따로따로 표시.기본값. True : 누적막대그래프
'''
ax1 = ndf[['수력','화력']].plot(kind = 'bar', figsize=(20,10),
width = 0.7, stacked=False)
'''
ax2 : 선그래프영역. plt 패키지로 그래프 작성.
ndf.index : x축의 값
ndf.증감률 : y축의 값
ls='--' = 선의 종류 (-:실선, --:대쉬선)
'''
ax2 = ax1.twinx() # ax1, ax2 그래프를 같은 영역에서 출력
ax2.plot(ndf.index, ndf.증감률, ls='-', marker = 'o', markersize = 10,
color='green', label = '전년대비 증감률(%)') # 선그래프
ax1.set_ylim(0,200) # ax1 영역의 y축의 값의 범위 설정
ax2.set_ylim(-50,50) # ax2 영역의 y축의 값의 범위 설정
ax1.set_xlabel('년도', size=20) # x축의 라벨
ax1.set_ylabel('발전량(억 Kwh)') # y축의 라벨
ax2.set_ylabel('전년 대비 증감률(%)') #y축의 라벨
plt.title('북한 전력 발전량(1990~2014)', size=30)
ax1.legend(loc ='upper left') #범례
ax2.legend(loc='upper right')
# 이미지 저장하기 (파일명, 해상도)
plt.savefig("북한전력량.png", dpi = 400, bbox_inches='tight')
plt.show()
boxplot 두개 그리기
# 박스그래프 : box 그래프
# 두개의 그래프로 출력하기
# 그래프 출력을 위한 영역 생성
fig = plt.figure(figsize=(15,5))
ax1 = fig.add_subplot(1,2,1) # 1행2열 1번째영역
ax2 = fig.add_subplot(1,2,2) # 1행2열 2번째영역
'''
x=[usa의 연비(mpg) 데이터목록, japan의 연비(mpg) 데이터목록, europe의 연비(mpg) 데이터목록]
vert=False : 수평박스플롯
sym : 이상치 표현 방식
'r*' : red, *
r:red, b:blue,...
*:별, s:사각형, .:점, o:원, d:다이아몬드
'''
box1 = ax1.boxplot(x=[mpg[mpg['origin']=='usa']['mpg'],
mpg[mpg['origin']=='japan']['mpg'],
mpg[mpg['origin']=='europe']['mpg']],
labels = ['USA','JAPAN','EU'], sym='r*')
box2 = ax2.boxplot(x=[mpg[mpg['origin']=='usa']['mpg'],
mpg[mpg['origin']=='japan']['mpg'],
mpg[mpg['origin']=='europe']['mpg']],
labels = ['USA','JAPAN','EU'], vert=False)
ax1.set_title('제조국별 연비 분포(수직박스플롯)')
ax2.set_title('제조국별 연비 분포(수평박스플롯)')
folium으로 지도 시각화
seoul_map = folium.Map(location = [37.55, 126.98], zoom_start = 12)
for name, lat, lng in zip(lib.index, lib.위도,lib.경도) :
folium.Marker([lat,lng],popup=name, tooltip=name,
icon = folium.Icon(color='orange', icon ='bookmark')
).add_to(seoul_map)
seoul_map.save('seoul5.html')
사람들이 점점 줄어든다
다덜 어디가신거죠....돌아와요...젭알...
'환경, 에너지' 카테고리의 다른 글
[EMS]BeautifulSoup, Selenium (0) | 2024.07.10 |
---|---|
[EMS] folium, numpy (0) | 2024.07.09 |
[EMS] Pandas 기본 (0) | 2024.07.03 |
[EMS] Python 예외처리, 클래스와 모듈, 정규식 (1) | 2024.07.03 |
[EMS] Python 기초 (0) | 2024.07.02 |