• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

수강 중 질문사항

20.12.19 10:09 작성 조회수 142

1

안녕하세요! 좋은 강의 너무 잘 듣고있습니다! 다름이 아니라 split함수를 사용해서 YYYY-MM-DD형식을 연월일로 나누는 것은 잘 이해했습니다! 제가 따로 실습을 하려 다른 데이터를 사용하고 있는데 YYYYMMDD처럼 중간에 상용구 없이 붙은 경우에는 연월일을 어떻게 분리할수있을까요? 답변부탁드리겠습니다!

답변 3

·

답변을 작성해보세요.

1

tkdahr741님의 프로필

tkdahr741

질문자

2020.12.19

감사합니다!

1

안녕하세요.

split으로 나누는 방법도 있지만 pd.to_datetime 을 사용해서 변경해 보실 수도 있어요. 

YYYYMMDD 처럼 되어 있다면 일단 데이터 타입을 먼저 확인해 주셔야 해요.

int 타입인데 연월일일때 pd.to_datetime 을 사용하면 타임스탬프라는 형식으로 이해해서 원하는 대로 변경이 되지 않습니다.

데이터 타입을 object  형식으로 우선 변경이 필요하고요.

해당 컬럼명이 "날짜"라고 가정하고 df 라는 변수에 데이터프레임으로 들어있다고 가정한다면

다음과 같이 날짜 타입으로 변경해서 원하는 형태의 데이터를 추출해 보실 수 있습니다.

df["날짜"] = pd.to_datetime(df["날짜"].astype(str))

연도추출  => df["날짜"].dt.year

월추출  => df["날짜"].dt.month

날짜추출  => df["날짜"].dt.day

또, 위 방법을 사용하지 않고 split을 사용한다면

df["날짜"] = df["날짜"].astype(str)

아래와 같은 슬라이싱 방법을 사용하실 수도 있습니다.

df["날짜"].str[:4]

0

감사합니다 :)