전체 글 (10) 썸네일형 리스트형 Os 라이브러리 사용하기 os 는 기본 운영체재 와 상호작용하는 기능들을 제공한다.파일 경로 가져오기, 디렉터리 생성/삭제 등 다양한 기능을 포함하고 있다. os.path 모듈을 사용하면 파일의 경로나 디렉터리 정보를 쉽게 다룰 수 있다. import os#현재 작업 중인 디렉터리 가져오기 current_dir = os.getcwd() #현재 작업 중인 디렉토리 열기os.chdir('/새로운/경로') #작업 디렉토리 변경 만약 파이썬 스크립트를 쓰는 중에 파일명을 사용해야하는데 기억이 안나거나 사용중인 디렉토리 안의 모든 파일 명을 보고 싶다면os.listdir() 함수를 사용해보자.import osfiles= os.listdir()print(files)['1.ipynb', '2.ipynb', '241013_데이터', '3_g.. 지오코딩(주소로 좌표 및 포인트 shp 변환하기) pandas geopandas numpy 활용 Gis 에서 주소데이터를 포인트로 변환해야 할 경우가 있다. 파이썬을 사용해서 이 과정을 거치면 쉽게 포인트shp를 얻을 수 있다. 먼저 주소 데이터를 파일에 넣고 vscode같은 ide 로 불러온 다음, pandas, geopandas, numpy 를 import 한다.import pandas as pdimport geopandas as gpdimport numpy as npimport osfile_link = "C:/Users/...."os.listdir()먼저 폴더안의 파일명들을 확인해보자.주소 csv 파일이 있다. csv 파일을 DataFrame 으로 저장하자.df = pd.read_csv('C:/Users/보건소_경로당_수정.csv'df.head()데이터프레임이 주소를 포함하여 잘 생성이 되었다.. dropna() 메서드와 duplicated() 메서드로 nan 결측치와 중복값 없애기 import pandas as pda_df= pd.read_csv('filename', incoding= UTF-8)a_df2=a_df.dropna(axis=1 ) - 열의 내용 중 nan 값이 하나라도 있으면 드랍한다. a_df2=a_df.dropna(axis=1 , how ='all' ) - 열의 내용이 모두 nan 일 경우 드랍한다.axis=0 으로 바꾼다면 nan 이 포함된 행이 드랍(삭제) 될 것이다.axis=0은 기본 형태이므로 행이 삭제되길 원한다면 dropna() 로 비워두어도 된다. #데이터 프레임의 중복된 행 찾기sum(df.duplicate())결과 : 0 - 출력된 값이 이라면 중복된 행이 없다는 것 dup_rows = df.duplicate(subset=[ ] , keep = F.. shape 속성으로 데이터프레임 형태 확인하기. shape는 괄호 없이 사용이 가능하며, 데이터프레임의 크기를 간단히 알려주는 속성(attribute)이다.연산이 필요하지 않으므로 괄호가 필요 없다.df. shape : DataFrame의 (행의 수, 열의 수) 형태의 튜플을 반환합니다. 즉, 데이터프레임의 **크기(차원)**를 알려줍니다. 예 1 ) df.shape = (5,100) 이라면 5행 100열의 데이터 프레임의 형태를 갖고 있음예 2 ) df.shape[0] = df의 첫번째 인덱스를 반환해라. 첫번째 필드의 행의 개수을 가져오라는 의미. ㄴ geodataframe 이라면, 이는 행의 개수가 객체의 개수가 될 수 있다. 10.14 프로젝트 연습 김제시의 초등학교 시설의 흡입력을 계산해 보고자 한다. 먼저 geopandas 와 pandas를 import 하고, 정상적으로 파일이 가져와 지는지 확인해 본다.import geopandas as gpdimport pandas as pdshp_file_path = 'C:/Users/이용현/Desktop/프로젝트/241013_데이터/인구/김제 남원 노인 인구 병합.shp'gdf = gpd.read_file(shp_file_path)print(gdf.head())잘 가져와 지는 것을 볼 수 있다. 이제 흡입력을 계산해 보자. 먼저 필요한 데이터를 입력해보면,1. 접근성 데이터(도시 경계 격자망 형태의 데이터로 각각의 격자의 중심점에서 가장 가까운 시설까지의 거리가 value 필드에 저장됨)2. 시설 포.. 프로젝트 전 데이터 정리 Qgis분석 절차 김제시와 남원시의 입지적정성을 판별하는 분석과정 1. 접근성 및 기초 데이터 구축 - 공공데이터 시설별 접근성 및 인구 등 데이터 다운 2. 흡입력 산정 : 시설별 정원(인) / (거리*거리) (㎢) 3. 공급력 산정 : 흡입력 / 흡입력 합계(시설당) 4. 수요력 산정 : 공급력 * 인구밀도 5. 입지적정성 산출 자료수집 - 행정경계 및 인구 자료 등 세분화 - 인구 및 접근성을 베이스로 교차 및 위치속성 조인 - 시설별 흡입력 계산 및 공급력 산출 및 사분위화 - 인구 밀도 null값제거 - 수요력 산출 및 사분위화 – 입지적정성 산출 시설 포인트 지오코딩 / “spatial join”/ join / “near” / 속성 필드계산기 / gis 통계 공간분석 - pytho 5월 쯤에 했던 공간분석 중 김제 남원의 인구와 인프라시설들의 상관관계와 공급과 수요에대해 GIs 로 분석을 진행했었다. 10월 진행했던 분석을 프로젝트로 진행해보자 한다. 먼저 필요한 데이터들은 가지고 있기에 프로그래밍에 필요한 세팅부터 준비해보겠다. 클라우드 환경과 로컬 환경 중 어디서 프로그래밍 할 지 선택해야하는데, 활용할 데이터들의 형태를 먼저 고려해야한다. 먼저 사용할 데이터들의 형태는1. shp데이터2. 엑셀데이터 100개 이하의 데이터 들을 사용할 예정이고 용량은 모두 Gb 이하로 대용량 데이터로 구분 되지 않는다. 하지만 나중에 데이터를 시각화 해야하기때문에 로컬활경에서의 작업흐름을 추천받았다. 로컬 환경을 세팅해보자. 1. 아나콘다 설치Anaconda는 파이썬 및 데이터과학에 필요한.. 불필요한 데이터 삭제 및 group_by로 합산하기 코랩에서 먼저 데이터를 불러 온다.import gdowngdown.download('https://bit.ly/3RhoNho','ns_202104.csv',quiet=False)import pandas as pdns_df= pd.read_csv('ns_202104.csv',low_memory = False)ns_df.head() 책들의 정보가 들어있는 데이터 프레임이 불러와졌다. #불필요한 데이터 제거 이중 필요 없는 열을 제거 해보자.#앞서 불리언 배열을 사용하여 불필요한 열을 제외했던 것처럼, drop 메서드로 중간에 있는 열을 제외 할 수 있다.ns_book = ns_df.drop(['부가기호','Unnamed: 13'], axis=1)ns_book.head()이렇게 직접 열을 제거 해도 되지만.. 이전 1 2 다음