본문 바로가기

Python59

[Spark] Databricks로 시작하기 Databricks 접속 & 가입 databricks community edition 으로 검색해서 Sign up >> Sign in 해주면 다음과 같은 화면이 나타난다 무료 이용은 2주라, 2주마다 구글 이메일 계정만들어서, 크롬에 로그인 후 접속해주면 계속 이용할 수 있다. 👉 나중에 재접속 할 때는 Databricks Commuity 로 접속하도록 한다! Cluster 생성 cluster_name : 직접 입력 Databricks Runtime Version : Runtime 10.0 ML(Scala 2.12 Spark 3.2.0) 선택 현재 버전에서는 아래를 선택 2시간이 지나면 클러스터가 Terminate 가 된다. 그럴 땐 기존 것을 삭제하고 동일 세팅으로 다시 만들어서 노트북과 연결해준다... 2023. 10. 23.
[시각화] 크롤링 결과 워드클라우드 시각화 빅데이터 콘테스트의 수상작 제목을 워드클라우드로 시각화해보자. 결과는 다음과 같다. 라이브러리와 데이터 불러오기 import pandas as pd from wordcloud import WordCloud import matplotlib.pyplot as plt df = pd.read_csv('BigdataContest.csv') df.head() 한글 폰트 설정 from matplotlib import font_manager, rc # 한글 폰트 설정 font_path = "../NanumGothic.ttf" # "NanumGothic.ttf" 파일이 있는 경로로 수정 font_name = font_manager.FontProperties(fname=font_path).get_name() rc('fon.. 2023. 10. 4.
[시각화] 한글 폰트 코드 정리 matplotlib이나 seaborn으로 그래프를 그릴 때 한글이 깨져서 나오거나 워드클라우드로 한글이 안나올때가 있다. 시도할 수 있는 코드를 정리해 보았다. 코드 1 이 코드의 핵심은 font_path에 폰트 파일을 넣고, 그 경로를 명확히 써야하는 것이다. 나머지는 똑같이 복붙하면 된다. from matplotlib import font_manager, rc # 한글 폰트 설정 font_path = "../NanumGothic.ttf" # "NanumGothic.ttf" 파일이 있는 경로로 수정 font_name = font_manager.FontProperties(fname=font_path).get_name() rc('font', family=font_name) 코드 2 이 코드는 설치된 폰트 .. 2023. 10. 4.
[pandas] 조건에 맞는 데이터 필터링 : where( ), query( ) 🥑 조건에 맞지 않는 값을 일괄 대체하고 싶을 때 : where( ) 코드 예제를 통해 확인 : num_actor 열의 값이 2이면 그대로 두고, 아닐 경우 False로 변경 형식 : .where(조건, 거짓일때의 값) copied_data = df.copy() copied_data['two_actors'] = copied_data['num_actor'].where(copied_data['num_actor'] == 2, "False") copied_data[['two_actors']].head(2) 🥑 코드를 효율적으로 작성하여 필터링하고 싶을 때 : query( ) query( ) 메서드는 문자열로 표현된 조건을 입력으로 받는다 조건식은 데이터프레임의 열 이름을 사용하여 작성된다 여러개의 조건은 논리 .. 2023. 9. 7.
[Pandas] cut(), qcut()을 이용한 데이터 구간화 🍐 cut( ) : 데이터 수에 관계없이 같은 길이로 나눔 pd.cut(구간화하고 싶은 컬럼, bins = 구간수, labels = ['라벨명1', '라벨명2'...]) [예제1] copied_data = df.copy() copied_data['binning'] = pd.cut(copied_data['box_off_num'], bins = 3) copied_data.head(3) [예제2] copied_data = df.copy() copied_data['binning'] = pd.cut(copied_data['box_off_num'], bins = 3, labels = ["A", "B", "C"]) copied_data.head(3) 🍐 qcut( ) : 각 구간에 동일한 수의 데이터가 들어가도록 나.. 2023. 9. 7.
[Pandas] groupby , 다중 열 정렬 데이터프레임 다중 열 정렬(1) .sort_values(by = ['열1', '열2'...] ) three_columns = df[['time', 'num_staff', 'num_actor']].copy() sorted_df = three_columns.sort_values(by = ['time', 'num_staff']) sorted_df.head(3) 데이터프레임 다중 열 정렬(2) four_columns = df[['time', 'num_staff', 'num_actor', 'box_off_num']].copy() sorted_dataframe = four_columns.sort_values(by = ['box_off_num', 'time'], ascending = True) sorted_dataf.. 2023. 9. 7.
여러 개의 그래프 그리기 예제(반복문 사용) 1. 여러 개의 그래프 그리기 - 시각화 할 변수 선택 - fig 만들기 fig=plt.figure(figsize=(20,10), dpi = 100) : matplotlib의 figure를 생성하고, 그림의 크기를 가로 20 인치, 세로 10 인치로 설정하며, 해상도는 100 dpi로 설정합니다. axs=fig.subplots(2,4) : 2x4 형태의 서브플롯 그리드를 생성합니다. 즉, 2행 4열의 그리드를 생성하여 총 8개의 그래프를 그릴 수 있는 공간을 만듭니다. lm_features 변수에 각 그래프에 사용할 특징들을 리스트로 정의합니다. fig=plt.figure(figsize=(20,10), dpi = 100) axs=fig.subplots(2,4) lm_features = ['temperat.. 2023. 9. 7.
[scatter_matrix] 여러 피쳐간 산점도 한번에 보기 라이브러리 임포트 from pandas.plotting import scatter_matrix import matplotlib.pyplot as plt %matplotlib inline 산점도 그리기(여러 피쳐를 한번에) attributes = ['주간통화시간', '주간통화요금', '주간통화횟수'] # 산점도 한번에 그리기 scatter_matrix(train[attributes], figsize = (10, 10), alpha = 0.1) 결과 예시 2023. 8. 31.
시각화 준비용 코드 (한글폰트 설정 & 경고 무시) import warnings # 1 warnings.simplefilter(action='ignore', category=FutureWarning) import matplotlib.pyplot as plt # 2 import matplotlib.font_manager as fm # 3 fe = fm.FontEntry(fname = 'NotoSansKR-Regular.otf', name = 'NotoSansKR') # 4 fm.fontManager.ttflist.insert(0, fe) # 5 plt.rc('font', family='NotoSansKR') # 6 warnings 모듈(module)을 임포트(import)하고, 경고 메시지를 무시하기 위한 필터를 설정 FutureWarning이라는 특정 경.. 2023. 8. 30.
728x90