인프런 커뮤니티 질문&답변

hankilzoa님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

4회 기출유형(작업형1)

3번 2018-01 과 dt.year/month 차이점

해결된 질문

24.06.09 10:24 작성

·

75

·

수정됨

0

  • df['date_added']=pd.to_datetime(df['date_added'])

  • a=df['date_added']=='2018-01'

  • b=df['country']=='United Kingdom'

    df[a&b]

     

    이렇게 하면 3이 나오는데 이유가 무엇일까요? 2018-01로 필터는 되는거같은데 차이점이 있는지 궁금합니다.

     

    dt.year/month 각각 나눠줘야만 정답출력되는건지도요

답변 1

1

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 06. 09. 12:34

안녕하세요 df['date_added']=='2018-01' 접근 방식은 문자열로 비교할 수 있는데

작동하지 않는 부분이 있을 수 있어요! 문자열은 반드시 str확장자를 사용해야 정확하게 분류되어 복잡해질 수 있어요

강의에서 알려드린 날짜 형태로 변형해서 작업하는 것을 추천합니다.

 

만약 구현한다면 str로 자료형을 변경한다음 찾는 방법이 있어요!

import pandas as pd
df = pd.read_csv("nf.csv")

df['date_added'] = pd.to_datetime(df['date_added'])

a = df['date_added'].astype(str).str.startswith('2018-01')
b = df['country'] == 'United Kingdom'

print(len(df[a & b]))