일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- pandas #folium #groupby #네이버부스트코스 #코칭스터디
- 트랜스포머 #transformer #attention #self-attention #어텐션 #인공지능 #AI #딥러닝 #NLP #자연어처리
- BERT #구글BERT #BERT의정석
- 머신러닝
- 백준 #알고리즘 #골드
- 알고리즘 #levenshtein distance #편집거리 #edit distance
- 트랜스포머 #자연어처리 #딥러닝 #구글 #attention #self-attention #BERT #transformer #deeplearing
- pytorch #cuda #우분투 torch #ubuntu pytorch #cuda torch #cuda pytorch
- ssh #우분투 ssh #우분터 서버 #도커 #우분투 도커 #docker #cuda #우분투 개발환경 #딥러닝 #ubuntu docker #ubuntu cuda
- jupyter notebook #anaconda #vscode #pytorch #딥러닝 #deep learning #vscode server #서버 vscode #ssh vscode #vscode cuda
- docker #도커 #도커 컨테이너 #docker container #도커 우분투
- 파이썬 #Python
- docker #아나콘다 #anaconda #ubuntu anaconda #docker anaconda
- cuda #centos #cuda삭제 #리눅스 #cenos cuda삭제
- logistic regression
- GPU #cuda out of memory #gpu 메모리 #pytorch
- 구름
- docker #우분투 #ubuntu #도커 설치 #docker 설치 #docker installation #우분투 도커
- GPU #jtorch GPU #파이토치 병렬 #파이토치 GPU #pytorch gpu #multi process torch #horovod
- Machine Learning
- 구름자연어처리과정
- 백준
- 깃허브 #우분투 #ubuntu #Github #깃허브 우분투 #깃헙 우분투 #깃헙
- docker #cuda #docker container #도커 #도커 컨테이너 #쿠다 #cuda 11.3
- Today
- Total
바닥부터 시작하는 개발 공부
[파이썬으로 시작하는 데이터 사이언스] 2주차 본문
얼마 전에 시작한거 같은 코칭 스터디가 벌써 2주차가 되었다.
pandas를 통해 데이터를 원하는 형태로 변환하는데 익숙해지고 있다.
인공지능 학습을 위해서 데이터의 전처리가 중요하다는 것이 크게 느껴지고 있는데
여러모로 도움이 될 거 같은 느낌이다.
import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/corazzon/boostcourse-ds-510/master/data/medical_201909.csv.zip", low_memory=False)
df.shape
전국의 병원에 대한 정보가 담긴 데이터를 불러와 보자
다음과 같이 39개의 열로 이루어져있는 데이터이다.
첫번째로 서울시에 각 '시군구명' 별로 약국이 얼마나 있는지 알아볼 것이다
phar= df[df['상권업종소분류명'] == '약국']
phar.groupby('시도명').size().sort_values(ascending= False)
데이터프레임명[데이터프레임명['컬럼명'] == '원하는 값' ] ] 으로 특정 열에 내가 원하는 value를 가지고 있는
데이터프레임을 만들 수 있다.
먼저 상권업종소분류명 열에 약국의 값을 가지고 있는 데이터프레임을 만들어 준 뒤 phar 변수에 저장한다
그 후 groupby를 통해 '시도명'으로 묶어 준 후 size(O 메소드를 통해 갯수를 세어준다
내림차순으로 정렬할 것이므로 sort_values(ascending = False)로 해준다. sort_values의 기본값은 ascending = True이다
두번째로 위와 비슷하게 서울시의 동물병원을 시군구 별로 정렬해준다.
animal_hos =df[ df['상권업종소분류명'] == '동물병원']
animal_hos_district =animal_hos.groupby('시도명').size().sort_values(ascending= False)
animal_hos_district
이번에는 시각화도 진행해준다.
import matplotlib.pyplot as plt
import seaborn as sns
%config InlineBackend.figure_format = 'retina'
!sudo apt-get install -y fonts-nanum #코랩인 경우만 설치해주자
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
plt.rc('font', family='NanumBarunGothic')
plt.rc('axes', unicode_minus=False)
#코랩인 경우 위와 동일하게 해준다
#한글 폰트 설치와 설정을 위한 코드! 나눔바른고딕을 폰트로 설정해준다 아래껀 -기호가 깨지는 거 방지
#안해주면 글씨가 깨진다 + 이거 해주고 런타임
sns.countplot(data=animal_hos, y="시도명")
#코랩 안쓰면 위에처럼 폰트 설치 안해줘도 됨 (코랩은 리눅스 기반 + 기본 한글폰트가 없는듯)
#plt.rc('font', family='Malgun Gothic') #윈도우 환경인 경우
#plt.rc('font', family='Apple Gothic') #Mac OS
seaborn으로 그래프 그리면 예쁘게 나온다
이번에는 folium이라는 모듈을 사용해 볼 것
folium은 지도를 그려주는 모듈인데 위도와 경도 정보가 필요하다
-> 위의 데이터프레임의 열을 보면 위도와 경도가 존재!
import folium
old_hos = df[df['상권업종소분류명']=='노인/치매병원']
old_hos['위도'].mean()
old_hos['경도'].mean()
old_hos_map = folium.Map(location = [old_hos['위도'].mean(), old_hos['경도'].mean()],
zoom_start=10)
for num in old_hos.index:
name = old_hos.loc[num, '상호명']
address = old_hos.loc[num, '도로명주소']
popup = f'{name} - {address}'
location = [old_hos.loc[num, '위도'], old_hos.loc[num, '경도']]
folium.Marker(
location = location,
popup = popup, icon = folium.Icon(color = 'green', icon='fa-hospital-o', prefix='fa')
).add_to(old_hos_map)
old_hos_map
icon은 https://fontawesome.com/v4/icons/에서 원하는 다른 아이콘을 검색 후 변경가능하다
예를들어 address book 아이콘이 필요한 경우 'fa-hospital-o'를 'fa-address-book'으로 변경하면 된다.