STUDY/Python (23) 썸네일형 리스트형 [visualization] 지도 시각화 - folium 소개 및 간단 사용법 파이썬에선 다양한 방법으로 데이터를 시각화 할 수 있다. 대표적으로 Matplotlib, Seaborn등의 라이브러리가 있으며, 보다 interactive한 시각화를 할 수 있는 Plotly도 있다. 하지만 이런건 보통 그래프나, 뭐 시각화 개체 등을 표현할 때 사용하는 라이브러리들이다. 그런데 만약 지도 위에 뭔가 표시하고 싶다, 즉 지도를 보여주고 싶다면? 이럴 때 사용하는 것이 folium이라는 라이브러리다. folium이란? folium은 leaflet.js 기반으로 만들어진 Python 지도 시각화 라이브러리다. (공식 문서) folium을 사용하면 interactive한 지도를 생성하고 마커를 추가하여 시각화하거나 원으로 범위를 표기하고 html 파일로 내보내기 등을 수행할 수 있다. 역시 백.. [Data Preprocessing] - Min Max 정규화 Min Max 정규화는 데이터 전처리 과정 중 Feature scaling 단계를 실행하는 방법 중 하나다. feature scaling이 무엇이며 왜 하는지에 대해서도 작성하고 싶은데, 이는 구글링 해 보면 굉장히 많은 자료가 나오기도 하고, 솔직히 조금 귀찮기 때문에 따로 작성하지는 않을 것이다(나중에 추가로 작성해서 넣을지도??) Min - Max 정규화가 뭔가요? Min-max noramlization는 독립변수들의 값이 0~1 사이에 위치하도록 변경시켜 주는 feature scaling 방법이다. 좀 풀어서 설명해보자면, 최대값과 최소값의 범위 내에서 정규화 할 값이 어느 정도의 위치를 갖는지를 0~1사이의 값으로 바꿔 주는 것이다. 공식은 이렇다. $$\frac{x - x_{min}}{x_{m.. [Pandas] 데이터 그룹별 집계 - NamedAgg 데이터를 그룹별로 집계할 때에 보통 groupby()를 쓰곤 한다. 아래와 같은 데이터프레임이 있다고 하자. 특정 호텔 리뷰 관련 데이터를 웹 스크래핑으로 가져온 것이다(여기 참고). 작성자ID별 리뷰가 몇개인지 알고 싶다거나, 숙박 날짜별 리뷰가 몇개인지 알고 싶다거나 할 때 groupby를 쓰곤 한다. 이런 식으로! groupby와 평균, 개수, 최대, 최소 등등의 집계함수를 사용해 목적에 맞게끔 데이터를 그룹화 할 수 있는데, 동일한 컬럼에 대해 여러 집계 함수를 사용하거나 한 번에 여러 종류의 집계를 하고 싶을 때가 있다. 이럴 때 사용할 수 있는 것이 Pandas의 NamedAgg() 메서드다. 사용법... 이랄 건 딱히 없고 groupby, 집계함수를 사용하는 것과 비슷하다. 집계함수를 어떤 .. [Python] 웹 크롤링 - requests 라이브러리 소개 / "기본" 사용법 웹 크롤링 할 때 쓰이는 파이썬의 requests 라이브러리에 대해 알아보자. requests란 ?? requests란 python용 HTTP 라이브러리이다. Python에서 특정 웹사이트에 HTTP 요청을 보내는 모듈이라 할 수 있다. 쉽게 말하자면 특정 웹사이트에 HTTP 요청을 보내 HTML 문서를 받아올 수 있는 라이브러리인 것. 허나 엄밀히 말하자면 requests로 가져올 수 있는 HTML 문서는 문서가 아닌 그냥 단순한 문자열이고, html parser에 의해 HTML 문서로 바뀌게 된다. html parser에 대해서는 다음 포스팅에 다루도록 하겠다. 백견이 불여일행이라, 직접 설치부터 기본 사용까지 해 보도록 하자. 1. 설치 설치할 필요가 없다. 기본적으로 내장되어 있을 것이다. 허나,.. [Python] html parser - BeautifulSoup HTML parse, parser HTML Parse란 HTML 문법 규칙에 따른 문자열을, 해당 문법을 바탕으로 단어의 의미나 구조를 분석하는 것을 말한다. 그리고, 이렇게 HTML Parse를 행하는 프로그램을 일컬어 HTML Parser라 한다. 파이썬에는 아래와 같이 여러가지 html parser가 있다. 이 중, BeautifulSoup(이하 bs4)에 대해 알아볼 것이다. 설치, import, 사용방법까지. BeautifulSoup 설치, 사용 본격적인 설명에 들어가기 전에 짚고 넘어갈 것이 있다. 위에서 bs4가 parser라고 설명했지만, 사실 parser 그 자체는 아니다. bs4의 역할은 여러가지 parser와 연동 가능한 인터페이스를 제공하는 것이다. 실제로 html을 parsing하.. [Python] 패키지 / 객체 지향 프로그래밍 / 클래스 이 글은 24.01.09에 본인 벨로그에 작성했던 글을 옮겨 온 것이다. 패키지 패키지란? => 간단히 말해, 여러 모듈들을 용도, 타입 등 관련 있는 카테고리로 묶어놓은 것. => 같은 이름의 모듈을 구별하는 용도로도 사용한다. # 각각 cal_for_int, cal_for_float라는 패키지에 add라는 모듈을 만들었다. # 모듈 이름과 쓰임새는 같으나 적용 대상이 다르다(int와 float) # 이렇게, 같은 이름의 모듈을 구별해줄 때에 사용할 수 있다. # input from cal_for_int import add print(add.add(1.2,2)) from cal_for_float import add print(add.add(1.2, 2)) ==========================.. [Python] 함수 / 중첩함수 / lambda함수 / 실행(main) 파일 이 글은 24.01.08에 본인 벨로그에 작성했던 글을 옮겨 온 것이다. 함수 내에서 또 다른 함수 호출 말 그대로, 하나의 함수 안에서 또 다른 함수를 호출하는 것을 말한다. 간단한 예시로, 구구단 2단부터 9단까지를 연속으로 출력하는 프로그램을 작성해보자. # input def gugu2(): for i in range(1,10): print(f'2*{i} = {2*i}') print('='*30) gugu3() def gugu3(): for i in range(1,10): print(f'3*{i} = {3*i}') print('=' * 30) gugu4() def gugu4(): for i in range(1,10): print(f'4*{i} = {4*i}') print('=' * 30) gugu5.. [Python] 반복문 이 글은 24.01.04에 본인 벨로그에 작성했던 글을 옮겨 온 것이다. 반복문 제어(continue) 1) 반복문 실행 중 continue를 만나면 실행 생략, 다음 반복문으로 넘어간다. # 예시 for i in range(20): if i%3 !=0: continue # if문의 조건을 만족하면 continue에 의해 아래 print문 실행하지 않고 통과. print(f"{i}은(는) 3의 배수다") ================================== 0은(는) 3의 배수다 3은(는) 3의 배수다 6은(는) 3의 배수다 9은(는) 3의 배수다 12은(는) 3의 배수다 15은(는) 3의 배수다 18은(는) 3의 배수다 2) else문은 반복문 실행이 모두 끝난 후 실행된다. count=0 f.. 이전 1 2 3 다음