본문 바로가기

Python

(47)
Python - 결측값처리 # NaN : 결측값 # deck 열의 NaN 개수 계산하기 # dropna = False : 결측값 포함 nan_deck = df['deck'].value_counts(dropna=False) nan_deck # isnull() : 누락 데이터 여부 # 모든 컬럼의 값이 누락 데이터인 경우 True, 누락 데이터가 아닌 경우 False df.head().isnull() # notnull() : 누락 데이터가 아닌 경우 # 모든 컬럼의 값이 누락 데이터인 경우 True, 누락 데이터가 아닌 경우 False df.head().notnull() # 누락 데이터의 갯수 조회하기 df.head().isnull().sum(axis=0) df.isnull().sum(axis=0) # 각 열의 NaN 개수 계산하기 ..
Python - 인구 구조가 비슷한 지역 그래프 그리기 # age1.csv 파일을 이용해서 선택한 지역의 인구 구조와 가장 비슷한 # 인구 구조를 가지고 있는 지역의 그래프와 지역을 출력하기 # 선택한 지역은 한 개만 가능하도록 한다. import numpy as np import csv f = open("age1.csv") data = csv.reader(f) next(data) data = list(data) name = "신림동" mn = 1 result_name = '' result = 0 # 가장 비슷한 인구 비율 for row in data : if name in row[0] : row = list(map((lambda x:x.replace(",","")),row)) home = np.array(row[3:],dtype=int) / int(row[..
Python - Numpy 연습문제 1. 임의의 값으로 10*10 배열을 만들고, 전체 최소값과 최대값, 행별 최대값과 최소값, 열별 최대값과 최소값을 출력하기 import numpy as np a = np.random.random((10,10)) a print("최대값 :", a.max()) print("최대값 :", a.min()) print("행별 최대값 :", a.max(axis=1)) print("행별 최소값 :", a.min(axis=1)) print("열별 최대값 :", a.max(axis=0)) print("열별 최소값 :", a.min(axis=0)) 2. 임의의 값을 30개 저장하고 있는 배열을 만들고 평균값을 출력하기 a = np.random.random((30)) a.mean() 3. 결과와 같은 값을 저장하고 있는 ..
Python - 지도 (folium) 연습문제 1. 다음 지도가 나오도록 프로그램을 작성하기 import pandas as pd import folium state_geo = 'us-states.json' state_unemployment = 'US_Unemployment_Oct2012.csv' state_data = pd.read_csv(state_unemployment) m = folium.Map(location=[48,-102], zoom_start=3, tiles='Stamen Toner') folium.Choropleth( state_geo, data=state_data, columns=["State","Unemployment"], key_on='feature.id', fill_color='YlGn', fill_opacity=0.7, lin..
Python - Numpy ### numpy ### Numerical Python의 약자 ### 파이썬에서 수치 해석, 통계 관련 모듈 ### 다차원 배열 객체 제공 import numpy as np # 배열 생성 # 0~14의 숫자를 3,5행의 2차원 배열로 만든다 a=np.arange(15).reshape(3,5) print(a) print(type(a)) print(a.shape) #행과 열 조회 # 배열의 차수 a.ndim #2차원 배열 a.dtype #배열의 요소의 자료형 a.dtype.name #배열의 요소의 자료형의 이름 a.itemsize #배열의 요소의 크기(byte 단위) #int32 자료형은 4바이트값 저장함 a.size # a 배열의 요소의 갯수 a.data # 실제 저장된 요소의 버퍼 # 배열 생성 # 리스..
Python - 지도 시각화(folium) ### 지도 그리기 ### folium 모듈 사용하기 #pip install folium
Python - 연습문제 [엑셀 파일 불러오고 그래프 그리기 ] # 1.시도별 전출입 인구수.xlsx 파일을 읽어 다음 그래프를 작성하기 import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel('시도별 전출입 인구수.xlsx', engine='openpyxl') # NA인 경우 앞의 값으로 채우기 df = df.fillna(method="ffill") # 서울시에서 다른 지역으로 이주한 정보 선택 mask=(df["전출지별"] == '서울특별시') & \ (df["전입지별"] != '서울특별시') df_seoul = df[mask] print(df_seoul) # 전출지별 컬럼 삭제 df_seoul = df_seoul.drop("전출지별",axis=1) # 전입지별 컬럼명 => 전입지 변경 df_..
Python - 시각화, 그래프(plot) ### pandas에서 시각화 import pandas as pd df = pd.read_excel\ ('./남북한발전전력량.xlsx',engine='openpyxl') # .은 현재폴더 의미 없어도 됨 print(df.head()) # 0행과 5행의 정보만 1990년 이후 데이터만 가져오기 2열 이후 정보만 저장 ndf = df.iloc[[0,5],2:] print(ndf) # 인덱스 변경하기 [0,5] -> ['South','North'] ndf.index=["South","North"] print(ndf) # 열의 이름을 정수형으로 변경하기 ndf.columns = ndf.columns.map(int) print(ndf.head()) # 선그래프 출력하기 ndf.plot() # 열별로 선 그래프가 ..