- pandas - matplotlib - paths: - ./NANUMMYEONGJO.TTF - ./NANUMMYEONGJOBOLD.TTF def createElementDiv(name): element = document.createElement('div') element.id = name document.body.append(element) return Element(name) import pandas as pd from pyodide.http import open_url # 판다스에서 csv 를 데이터 프레임으로 읽어옴 df = pd.read_csv(open_url( "http://dreamplan7.cafe24.com/pyscript/csv/avocado.csv" )) df.insert(2, 'month', df['Date'].str[:7], True) df.insert(5, 'Volume2', df['Total Volume']/10000, True) createElementDiv('output1').write(df) # 월별 매출량 조사 df_group = df.fillna(0) \ .groupby('month')[['Volume2']] \ .sum() \ .sort_values( by='month', ascending=True ) createElementDiv('output1').write(df_group) import matplotlib.pyplot as plt import matplotlib.font_manager as fm NanumMyengjo = fm.FontProperties( fname='./NANUMMYEONGJO.TTF' ) NanumMyengjoBold = fm.FontProperties( fname='./NANUMMYEONGJOBOLD.TTF' ) fig = plt.figure(figsize=(15, 9)) plt.title('월별 아보카도 매출량', fontproperties=NanumMyengjoBold, fontsize=32 ); plt.xticks(rotation=45) # 눈금 표시 리미트 plt.ylim(25000, 60000) # 눈금단위 plt.yticks([ 25000, 30000, 35000, 40000, 45000, 50000, 55000, 60000 ]) # 막대 그래프 plt.bar( df_group.index.to_list(), df_group['Volume2'].to_list(), color='forestgreen' ) plt.xlabel('연도/월', fontproperties=NanumMyengjo, fontsize=16 ) plt.ylabel('매출량(단위:만)', fontproperties=NanumMyengjo, fontsize=16 ) plt.grid() fig