본문 바로가기
728x90
반응형

Python 파이썬59

소프트웨어 인스펙션 체크 리스트 데이터 참조 에러(Data Reference Errors) : 올바르지 못하게 선언되거나 잘못된 값으로 초기화 된 Data를 참조할 경우 발생하는 에러. 초기화되지 않은 변수가 있는가? 데이터 오버플로우(Data Overflow) 에러. “Off by one” 오버플로우 에러. 변수가 참조하는 메모리가 할당되어 있지 않은 경우(Dangling Reference). 변수에 맞는 타입의 값이 저장되어 있지 않은가? 변수가 2개 이상의 함수에서 참조될 때 동일하지 않은 값이 참조되는가? 데이터 선언 에러(Data Declaration Errors) : 부적절하게 선언된 변수나 상수를 사용할 때 발생하는 에러. 명시적으로 선언되었는가? 올바른 타입으로 선언되었는가? 선언 시점에 값이 Assign 되었는가? 선언.. 2022. 6. 9.
tensorflow ) 초간단 GPU 사용하기 conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0 이제 window에서는 conda를 통해서 gpu를 바로 사용할 수 있게 되었다...Tensorflow공식문서 pip를 사용하여 TensorFlow 설치 Google I/O is a wrap! Catch up on TensorFlow sessions View sessions pip를 사용하여 TensorFlow 설치 TensorFlow 2 패키지 사용 가능 tensorflow - CPU와 GPU 지원이 포함된 안정적인 최신 출시(Ubuntu 및 Windows) tf-nightly - 미리보 www.tensorflow.org wsl과 docker를 통해서 gpu를 사용한 학습(이것도 공식문서와 ms문서에.. 2022. 5. 25.
functools ) partial() 인수가 이미 채워진 새로운 함수 만들기 functools.partial(func, /, *args, **keywords) 말 그대로 인수가 이미 채워진 새로운 함수를 만들 때 사용한다. partial()를 활용하여 U-net 모델 만들기 from functools import partial from tensorflow import keras # factory conv_filters = [16, 32, 64, 128, 256, 512] cont_factory = partial( keras.layers.Conv2D, kernel_size=(3,3), strides=1, padding="same" ) cont_activation = keras.layers.ELU() expan_factory = partial( keras.layers.Conv2DTr.. 2022. 5. 12.
pandas ) 연속 데이터의 구간 분할 pandas.cut() 구간 분할 binning 데이터 분석 알고리즘에 따라서는 데이터를 그대로 사용하기 보다는 일정한 구간(bin)으로 나눠서 분석하는 것이 효율적인 경우가 있다. 나이, 가격, 비용, 효율, 지역, 품종 등 수준이나 정도를 일정한 구간으로 나누고, 각 구간을 범주형 이산 변수로 변환하는 과정을 구간 분할(binning)이라고 한다. pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ordered=True) 데이터 값을 분할하고 구간별로 정렬해야 할 때 사용하십시오. 이 함수는 연속형 변수에서 범주형 변수로 변환하는 데도 유용하다. 예를 들어, 연령대를 연.. 2022. 4. 20.
pandas ) 자료형 변환 함수 astype() DataFrame/Series.astype(dtype, copy=True, errors='raise') 지정한 dtype으로 pandas객체를 캐스팅한다. 매개변수Parameters dtype 자료형data type, 또는 딕셔너리dict -> {column name : data type} numpy.dtype 또는 Python type을 사용하여 pandas객체 전체를 같은 자료형으로 캐스팅한다. 딕셔너리로 캐스팅할 경우, {col: dtype, …}와 같이 키값col이 열 이름이고 dtype은 numpy.dtype 또는 Python type을 넣어 하나 또는 그 이상의 데이터프레임DataFrame의 열을 그 열에 지정된 자료형으로 캐스팅한다. copy 불리언bool, default True True일.. 2022. 4. 18.
pandas ) 특정 요소 변경 replace() 함수 DataFrame/Series.replace(to_replace=None, value=NoDefault.no_default, inplace=False, limit=None,regex=False, method=NoDefault.no_default) to_replace의 값을 value로 대체한다. 시리즈의 값들을 다른 값들로 유동적으로 대체한다. 업데이트해야할 위치를 지정해야하는 .loc 또는 .iloc와는 다르다. 매개변수 to_replace : str(문자열), regex(정규 표현식), list(리스트), dict(딕셔너리), Series(시리즈), int(정수형), float(실수형), None 대체될 값을 찾는 방법이다. 숫자형, 문자열 or 정규 표현식: 숫자형numeric : 같은 값을 갖는 .. 2022. 4. 12.
PATH를 추가하지 않고 간편하게 원하는 가상환경 실행하기(windows) path목록이 너무 많은 게 싫어서 path에 conda나 python 등을 넣지 않았다면, cmd나 터미널에서 가상환경에 들어갈 때 일일이 경로를 적어서 activate를 실행할텐데, 이런 경우 간단하게 cmd파일을 만들어서 실행하면 매번 경로를 입력하지 않고도 빠르게 가상환경에 들어갈 수 있다. 예를 들어 아나콘다 base가상환경에 들어가는 cmd파일을 만든다고 한다면 conda_base_venv.cmd(파일명은 마음대로 확장자만 .cmd로) 와 같이 파일을 만들고 C:/Users/사용자명/anaconda3/Scripts/activate 위와 같이 가상환경 활성화파일 경로를 적어주고 터미널에서 실행해주면 간단하게 가상환경에 들어갈 수 있다. 이 방법을 이용한다면 python만을 사용할 때 가상환경을 .. 2022. 4. 8.
만약 커널삭제를 하지 않고 아나콘다를 재설치했다면... 만약 커널삭제를 하지 않고 아나콘다를 재설치했다면 주피터 랩이나 노트북을 실행해 커널목록을 봤을 때 이전에 만들어 둔 커널이 그대로 있는 것을 볼 수 있다. 하지만 이 커널의 가상환경정보는 아나콘다를 삭제하면서 가상환경정보도 같이 지워버렸을 경우 실행할 수 없게 되고, 커널삭제 명령어로도 에러가 발생하며 지워지지않는다. 이러한 경우 아래 경로로 가서 보면 삭제되지않는 커널의 목록이 보일 것이다. C:\Users\사용자명\AppData\Roaming\jupyter\kernels 위의 경로에 들어가서 사용이 안되는 커널들을 삭제해주면 더 이상 주피터 랩이나 노트북에서 커널목록이 나오지 않는 것을 볼 수 있다. 2022. 4. 8.
pandas ) 중복 데이터 처리 duplicated(), drop_duplicates() duplicated() 중복 데이터 확인 요소를 검사하여 중복된 요소면 True 아니면 False를 반환한다. import pandas as pd df = pd.DataFrame({'c1': ['a','a','b','a','b'], 'c2': [1,1,1,2,2], 'c3': [1,1,2,2,2] }) print(df); print() # 중복 데이터 확인 : .duplicated() 중복된 데이터이면 True print(df.duplicated()) # 행단위의 중복 확인 print() print(df['c2'].duplicated()) # 열단위(Series)의 중복 확인 print() 실행결과 c1 c2 c3 0 a 1 1 1 a 1 1 2 b 1 2 3 a 2 2 4 b 2 2 0 False 1 .. 2022. 4. 4.
pandas ) 누락 데이터 처리 isnull(), dropna(), fillna(), replace() isnull() 누락데이터이면 True를 아니면 False를 반환한다. 반대로 notnull()은 누락데이터이면 False를 아니면 True를 반환한다. 직관적으로 누락데이터만을 확인할 수 있다. import pandas as pd import seaborn as sns titanic = sns.load_dataset('titanic') # 각 열(axis=0)의 누락데이터 합 보기 print(titanic.isnull().sum()) # tip : 행으로 계산하려면 sum(axis=1) 실행결과 survived 0 pclass 0 sex 0 age 177 sibsp 0 parch 0 fare 0 embarked 2 class 0 who 0 adult_male 0 deck 688 embark_town 2.. 2022. 4. 4.
Folium ) 단계구분도 Choropleth Map 단계구분도(Choropleth map) 각기 다른 음영이나 색상 또는 값으로 각 지역과 관련된 데이터를 표현한 지도 지도 데이터 파일 (.geojson) - 지역에 대한 경계 정보를 제공 시각화 하고자 하는 데이터 파일 (.csv 등) - 지역별로 표현하고자 하는 데이터를 제공 Choropleth와 같은 레이어를 만들 때 위의 이 두 데이터를 파라미터로 넘겨줘야 하는데 데이터는 각자 다른 파일에 있으므로, 시각화할 데이터를 지도에 얹으려면 두 데이터를 매핑해야 한다. folium.Choropleth() geo_data = "지도 데이터 파일 경로 (.geojson, geopandas.DataFrame)" data = "시각화 하고자 하는 데이터파일. (pandas.DataFrame)" columns = .. 2022. 4. 4.
Folium ) 지도에 다양한 마커 표시하기 기본 마커 표시 folium.Marker 함수를 사용하면 기본적인 지도마커를 표시할 수 있다. import folium seoul_map = folium.Map(location=[37.459882,126.9519053], tiles='Stamen Terrain', zoom_start=12) folium.Marker( [37.459882, 126.9519053], tooltip='서울대학교', # 마우스가 오버레이되면 표시됨. popup='여기가 바로 서울대학교' # 마우스로 클릭하면 표시됨. ).add_to(seoul_map) display(seoul_map) seoul_map.save('output/seoul_colleges.html') 원형 마커 표시 import folium seoul_map = f.. 2022. 4. 1.
728x90
반응형