2017-12-18 10 views
1

내 데이터 세트는 다음과 같은 형식으로 날짜 열에서 값이 :팬더 날짜 형식 변환

date 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 
[datetime.date(2017, 2, 17)] 

는 내가 그 위에 시계열 분석을 수행하지 못할 수 있도록 날짜의 데이터 형식으로 변환 할 수 있습니다.

나는 다음과 같은 방법으로 작성했습니다 :하지만 당신은 from datetime import datetime 다음과 같은 날짜 지정해야하는 경우는 나에게 값 오류

df_scores['date']=pd.to_datetime(df_scores['date'],format='[datetime.date("%Y, %m, %d")]') 
+0

'pd.to_datetime (df_scores [ '날짜'] str에 [0]). '? –

+0

datetime 목록의 열입니까? 아니면 문자열의 열입니까? –

+0

문자열 열입니다. 나는 datetime 형식으로 변환하고 싶다. –

답변

1

열이 date 개체의 목록 인 경우이 값으로 충분해야합니다. -

당신은 문자열의 열이있는 경우
df.date = pd.to_datetime(df_scores['date'].str[0], errors='coerce') 

, 당신은 날짜 아티팩트를 추출 str.findall을 사용할 수 있으며, str.jointo_datetime이 이해하는 형식으로 가입 할 수 있습니다. 당신이 문자열의 목록의 열이 아닌 문자열의 열이있는 경우

i = df.date.astype(str)\ .str.findall('\d+')\ .str.join('/') df.date = pd.to_datetime(i, errors='coerce') 

astype(str)

가 필요합니다. 열에 데이터 형식이 잘못된 경우 다른 매개 변수 errors='coerce'이 필요할 수도 있습니다.


df 

     date 
0 2017-02-17 
1 2017-02-17 
2 2017-02-17 
3 2017-02-17 
4 2017-02-17 
5 2017-02-17 
6 2017-02-17 
7 2017-02-17 
8 2017-02-17 
9 2017-02-17 
10 2017-02-17 
11 2017-02-17 
+0

결과 데이터 프레임에 "non-null datetime64 [ns]"유형의 날짜가 있습니다. null이 아닌 이유는 무엇입니까? 언제해야 datatime64 –

+0

@ MayurMahajan 그래서, 그게 효과가 있다는 것을 의미합니다 ... 당신은 다른 문제가 없다면? 제 지식에는 차이가 없습니다. –

+0

왜 그것이 null이 아닌 datetime64 [ns]라고하는지 이해하지 못합니다. –

0

을 제공 : 이 [datetime(2017, 2, 17)] 이 유형 <class 'pandas._libs.tslib.Timestamp'>의 항목이 발생합니다을하는 당신이 할 수있는 .to_datetime()

0

이 작동해야

df_scores['date']=pd.to_datetime(df_scores['date'],format="[datetime.date(%Y, %m, %d)]") 
+0

ValueError : 시간 데이터 '[datetime.date (2013, 7, 31), datetime.date (2013, 8, 1)]'형식과 일치하지 않습니다 [datetime.date (% Y, % m, % d)] '(match) –

+0

데이터 프레임의 한 행에 두 개 이상의 날짜 값이있을 수 있습니까? –

+0

DF에 2 개 이상의 데이터 값이 없습니다. –