커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
데이터 전처리
undefined주차
북마크
김*아
댓글
10
추천
0
조회수
23
조회수
23
답변 완료

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

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


GA에서 다운받은 시간대별 활성사용자 Raw data를 가지고 수업 내용을 활용해보려고 하는데 데이터 전처리에 어려움이 있어 도움 요첨드립니다.

수업내용과 별개의 내용이나 답변주신다면 감사하겠습니다.


GA에서는 활성사용자가 없는 시간의 정보를 제외하고 구글 시트로 데이터를 제공하고 있습니다.

해서 시간 정보가 연속되지 않아 시간대별 활성사용자를 분석하기에 어려움이 있습니다.


하루 12AM ~ 11PM 까지 1시간을 기준으로 활성 사용자가 측정되고 있고,

시간정보를 0부터 숫자로 넘버링하여 제공하고 있습니다.(0~ 167번)


생각해본 방법으로는 'hour'의 행 값을 0~167 까지 숫자와 대조하여 결측치를 찾고

결측치가 있는 숫자 사이에 새로운 열을 추가하는 방법인데


전처리과정이 다소 복잡하게 느껴져 단순한 처리방법이 없을 지 문의드립니다.



보고 계신 화면 전체를 캡처해 주시면,

스파르타 즉문즉답

튜터님들이 빠르게 상황을 이해할 수 있어요.




작성한 코드 및 에러 메세지

import pandas as pd
df = pd.read_table('/content/activeuser.csv' ,sep=',')
df.head()

for index in range(len(df['hour'])):
    if isinstance(df['hour'][index], str):
        try:
            # 문자열을 정수로 변환
            df['hour'][index] = int(df['hour'][index])
        except ValueError:
            print(f"Index {index}: '{df['hour'][index]}'는 정수로 변환할 수 없습니다.")
df.drop(index=0, inplace=True)
df = df.transpose()
print(df)


if 'hour' in df.columns:
    # hour 값이 0~167 범위 내에 있는지 확인
    valid_hours = df['hour'].between(0, 167)
    
    # 유효한 hour 값만 필터링
    valid_df = df[valid_hours]


    # 결측값 처리: 예를 들어, 결측값을 0으로 대체
    valid_df['hour'].fillna(0, inplace=True)


    # 결과 출력
    print(valid_df)
else:
    print("hour 열이 데이터프레임에 없습니다.")

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

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

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




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