2014-11-12 4 views
1

여기 질문에 이어 파이썬 R 날짜 순서를 변환 할 수 없습니다 :정확하게

내가

import rpy2.robjects as ro 
from rpy2.robjects.packages import importr 
import pandas.rpy.common as com 

pa = importr("pa") 

ro.r("data(jan)") 
jan = com.load_data('jan') 

jan_r = com.convert_to_r_dataframe(jan) 

name = ro.StrVector([str(i) for i in jan['name']]) 
sector = ro.StrVector([str(i) for i in jan['sector']]) 
date = ro.StrVector([str(i) for i in jan['date']]) 

RPY2

를 사용하여 여기에 손으로 시리즈를 만들려고 해요 난 날짜 수를 얻을 내가 1970-01-01 인 것으로 의심되는 2010-01-01을 나타내는 날짜 필드에 14610이 있습니다. datetime 모듈에서 날짜의 원점을 변경할 수있는 항목을 찾을 수 없으므로 재설정 방법을 모르겠습니다.

내 질문 :

  1. 날짜 1970-01-01의 기가 된 R의 기원인가?
  2. 파이썬에서 원점을 설정하고 datetime.datetime 오브젝트로 변환하는 방법이 있습니까?
  3. 내가 여기에 더 분명한 것을 놓치고 있습니까?

감사

답변

3

는 날짜 1970-01-01의 기가 된 R의 기원인가? ?Date에서

:

날짜는 이전 날짜 음의 값을 가진 1970-01-01 이후 일수로 표시됩니다.


나는 내가 1970-01-01 기원 의심 2010-01-01를 나타내는 날짜 필드에 14610의 날짜 수를 얻을.

글쎄요.

as.Date(14610, origin = "1970-01-01") 
## [1] "2010-01-01" 

파이썬에서 datetime.datetime 객체에 대한 기원과 비밀을 설정하는 방법이 있나요?

파이썬 datetime docs에는 여러 가지 방법으로 날짜를 구성하는 방법이 나와 있습니다.

당신은 그 값이 x이 날짜 벡터를 나타냅니다 year(x), month(x)mday(x)를 사용하여 R 날짜에서 검색 할 수 있습니다 datetime.date(year, month, day) 구문을 사용할 수 있습니다.

date.fromtimestamp(timestamp) 구문을 사용할 수 있습니다. 여기에서 format(x)을 사용하여 R 날짜에서 타임 스탬프를 검색 할 수 있습니다.

date.fromordinal(ordinal) 문서를 반환 :

년 1 월 1

1 그래서 아마 문제가 당신이 숫자로 날짜를 전달하는 것입니다 순서가 그레고리오 서수에 해당하는 날짜 R은 1970 년 1 월 1 일부터 일로 계산되며 파이썬은 1 월 1 일 0001 일을 가정합니다.

+0

감사합니다. @RichieCotton. 이 경우 데이터 입력 형식을 선택하지 않습니다. 나는이 예에서 숫자에 timedelta를 추가한다고 생각합니다. 당신의 도움을 주셔서 감사합니다. –