2017-12-22 3 views
0

날짜에 대한 열을 포함하는 데이터 집합이 있습니다. 이 열의 형식은 dd.mm.yyyy.팬더를 사용하여 데이터 집합의 데이터 정렬

'12 월'과 '2014'로 범위를 제한하기 위해 날짜를 정렬하는 데 권장되는 방법을 사용해 보았습니다. 그러나 방법 중 어느 것도 제대로 작동하지 않는 것 같습니다. 나는 그것이 배열하는 것을 시도하고있는 것을 고려하고있다 yyyy.mm.dd.의 형식으로있다 나는 이것을하기에 어떻게 가는지에 관해 명확히하지 않는다. 누군가 도울 수 있습니까?

(df['date']>'1-12-2014')&(df['date']<='31-12-2014')과 같은 코드는 작동하지 않는 것 같습니다.

+0

열의 값이 datetimes로 저장되어 있습니까? 예를 들면 다음을 통해 확인할 수 있습니다. 'df.info()'. 데이터 프레임을 생성하는 데 사용한 코드를 추가하면 더 쉽게 대답 할 수 있습니다. – fuglede

+0

필자는 datetime을 사용해야한다고 생각합니다. 팬더에 익숙하지 않으며 형식을 지정하는 방법을 모르겠습니다. df [ 'date'] = pd.to_datetime (df [ 'date'], 형식 = '% d % b % Y : % H : % M : % S. % f') 다른 게시물에서이 코드를 발견했습니다. 내 데이터 형식이 올바르지 않습니다. – yqz09

답변

0

문제는 팬더가 날짜로 인식하지 못하는 문자열이라는 것입니다. 먼저 datetime 객체로 변환하려고합니다. 이 작업을 수행하는 몇 가지 방법이 있습니다 :

df['date'] = df['date'].apply(lambda d: pd.strptime(d, '%d.%m.%Y')) 

또는 두 경우 모두

df['date'] = pd.to_datetime(df['date'], format = '%d.%m.%Y') 

는, 키가 데이터와 일치하는 형식 문자열을 사용하고 있습니다. 그런 다음 원하는 방식으로 필터링 할 수 있습니다.

from datetime import date 
df[(df['date'] >= date(2014, 12, 1))&(df['date'] <= date(2014, 12, 31))] 
+1

감사합니다. 나는 팬더와 파이썬에 익숙하지 않아이 빠른 수업을하는 것이 매우 도움이되었습니다. – yqz09

관련 문제