커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 숙제를 vs code에서 실행해봤어요.
undefined주차
북마크
김*영
댓글
1
추천
0
조회수
7
조회수
7
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


3주차 숙제를 vs code에서 실행해 봤는데 경로만 다르고 같은 코드임에도 불구하고 colab에서는 실행되고 vs code에서는 에러가 뜨는 이유가 뭘까요?







작성한 코드 및 에러 메세지

import pandas as pd


done_data = pd.read_csv('C:/Users/User/Desktop/coding/python/data/done_detail.csv', sep=',')
format='%Y-%m-%dT%H:%M:%S.%f'
done_data['done_date_time'] = pd.to_datetime(done_data['done_date'], format=format)



#[날짜 컬럼].dt.day_name 으로 해당 날짜의 요일을 가져 올수 있어요! 


done_data['done_date_time_weekday'] = done_data['done_date_time'].dt.day_name()
done_data['done_date_time_hour'] = done_data['done_date_time'].dt.hour


weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
weekdata = done_data.groupby('done_date_time_weekday')['user_id'].count()


weekdata = weekdata.agg(weeks)
#week의 리스트에 따라 데이터들을 다시한번 재배열 할수 있어요!


hourdata = done_data.groupby('done_date_time_hour')['user_id'].count()
hourdata = hourdata.sort_index()
hourdata


import matplotlib.pyplot as plt
import numpy as np


#그래프 사이즈
plt.figure(figsize=(10,5))
plt.rc('font', family='NanumBarunGothic')
#그래프 x축 y축
plt.bar(weekdata.index, weekdata)


#그래프 명
plt.title('요일별 수강 완료 수강생 수')


#그래프 x축 레이블
plt.xlabel('요일')


#그래프 y축 레이블
plt.ylabel('수강생(명)')


#x축 레이블을 90도로 변환 
plt.xticks(rotation=0)


#그래프 출력
plt.show()


#그래프 사이즈 변경
plt.figure(figsize=(10,5))
plt.rc('font', family='NanumBarunGothic')
#그래프 x축 y축
plt.plot(hourdata.index, hourdata)


#그래프 명
plt.title('시간별 수강 완료 사용자 수')


#그래프 x축 레이블
plt.xlabel('시간')


#그래프 y축 레이블
plt.ylabel('사용자(명)')


#x축 눈금 표시 하기
plt.xticks(np.arange(24))


#그래프 출력
plt.show()


#피벗테이블 만들기


#values : 열에 들어 가는 부분
#index : 행에 들어가는 부분
#aggfunc : 데이터 축약시 사용할 함수


done_data_pivot_table = pd.pivot_table(done_data, values='user_id', 
                       index=['done_date_time_weekday'],
                       columns=['done_date_time_hour'], 
                       aggfunc="count").agg(weeks)
done_data_pivot_table


#그래프 사이즈 변경
plt.figure(figsize=(14,5))


#pcolor를 이용하여 heatmap 그리기
plt.pcolor(done_data_pivot_table)


#히트맵에서의 x축
plt.xticks(np.arange(0.5, len(done_data_pivot_table.columns), 1), done_data_pivot_table.columns)


#히트맵에서의 y축
plt.yticks(np.arange(0.5, len(done_data_pivot_table.index), 1), done_data_pivot_table.index)


#그래프 명
plt.title('요일별 종료 시간 히트맵')


#그래프 x축 레이블
plt.xlabel('시간')


#그래프 y축 레이블
plt.ylabel('요일')


#plt.colorbar() 명령어를 추가하면 그래프 옆에 숫자별 색상값을 나타내는 컬러바를 보여 줍니다
plt.colorbar()
plt.show()

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!

오류 내용

Traceback (most recent call last):
  File "c:\Users\User\Desktop\coding\python\data\3weekshomework.py", line 5, in <module>
    done_data['done_date_time'] = pd.to_datetime(done_data['done_date'], format=format)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\tools\datetimes.py", line 1050, in to_datetime
    values = convert_listlike(arg._values, format)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\tools\datetimes.py", line 453, in _convert_listlike_datetimes
    return _array_strptime_with_fallback(arg, name, utc, format, exact, errors)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\tools\datetimes.py", line 484, in _array_strptime_with_fallback
    result, timezones = array_strptime(arg, fmt, exact=exact, errors=errors, utc=utc)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "pandas\_libs\tslibs\strptime.pyx", line 530, in pandas._libs.tslibs.strptime.array_strptime
  File "pandas\_libs\tslibs\strptime.pyx", line 351, in pandas._libs.tslibs.strptime.array_strptime
ValueError: time data "2020-08-07 12:02:16" doesn't match format "%Y-%m-%dT%H:%M:%S.%f", at position 0. You might want to try:
    - passing `format` if your strings have a consistent format;
    - passing `format='ISO8601'` if your strings are all ISO8601 but not necessarily in exactly the same format;
    - passing `format='mixed'`, and the format will be inferred for each element individually. You might want to use `dayfirst` alongside this.


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴