[파이썬 데이터분석 첫걸음] 3주차 회고

WIL

복수의 데이터 join하기

  • 복합데이터를 하나의 데이터로: reset_index()
  • 위 데이터의 열 제목 변경하기: lecture_count = lecture_count.rename(columns = {'user_id' : 'count'})
  • 데이터 합치기: full_lecture = lecture_count.join(lectures, on = 'lecture_id')
    -lectures 데이터의 lecture_id 열을 기준으로 합치기
    -MySQL과 유사점!!

Wordcloud

  • 동영상대로 입력했을때 UnicodeDecodeError: 'cp949' codec can't decode byte 0xeb in position 6: illegal multibyte sequence 발생. 검색해본 결과 open('파일경로.txt', 'rt', encoding='UTF8')와 같이 열면 해결된다 한다
text = open('./data/Sequence_01.txt', 'rt', encoding = 'UTF8')
text = text.read()
text
  • 'rt'의 't'는 text mode라는 뜻. text mode가 기본설정이기 때문에 'r'(read) 와 'rt'간의 차이는 없음
  • 보다 깔끔한 출력을 위해 특수기호 제거하기
import matplotlib.font_manager as fm
for f in fm.fontManager.ttflist:
    if 'Gothic' in f.name:
        print(f.fname)
  • ttf 리스트 출력되었을 때 나온 경로 복붙해서 fontpath에 C:\Windows\Fonts\NanumGothic.ttf 입력했을때 에러. _(주피터 노트북 상에서는 원화 기호로 입력됨)을 /로 바꿔 넣었더니 해결됨
# Generate a word cloud image
mask = np.array(Image.open('./data/sparta.png')) # 행렬을 만들어서 마스킹
wc = WordCloud(font_path=font_path, background_color="white", mask=mask)
wc.generate(text)

f = plt.figure(figsize=(50,50))
f.add_subplot(1,2, 1) # 그래프를 두 개 그릴 때 사용하는 방법
plt.imshow(mask, cmap=plt.cm.gray)
plt.title('Original Stencil', size=40)
plt.axis("off")
f.add_subplot(1,2, 2)
plt.imshow(wc, interpolation='bilinear')
plt.title('Sparta Cloud', size=40)
plt.axis("off")
plt.show()
  • 생성된 이미지 드라이브에 저장하기
f = plt.figure(figsize = (50, 50)) # 변수 지정
plt.imshow(wc, interpolation = 'bilinear')
plt.title('나만의 워드클라우드', size = 40)
plt.axis('off')
plt.show()
f.savefig('./data/myWordCloud.png')

xticks 눈금 설정하기 (0부터 23까지)

  • 기반이 되는 데이터의 x축: plt.xticks(hourdata.index)
  • numpy 활용하기: plt.xticks(np.arange(24))

좋은 웹페이지 즐겨찾기