2016-06-03 2 views
-4

시간 오프셋을 str으로 변환하여 datetime.timedelta 개체로 변환 한 다음 관측 곡선과 시간의 그래프를 그립니다.python stend to timedelta

'5 days, 4:23:52.480000' ;  17.647166 
'5 days, 5:56:09.166000' ;  22.916071 
'5 days, 8:21:40.261000' ;  18.922329 
'5 days, 9:53:18.070000' ; 21.392157 
'6 days, 0:07:54.487000' ;  20.275597 
+5

SO에 오신 것을 환영합니다. SO가 코드 작성 서비스가 아니기 때문에 노력을 보여줄 수 있습니까? 원하는 음모가 어떻게 보이는지 보여주세요. – EdChum

+0

실제로 이것은 'datetime'이 아니라'timedelta'를 원하는 것처럼 보입니까? – Paul

+0

_italic_ 예 정확하게 @Paul – Nabil

답변

0

시간대 용 파서가 없습니다. 그래서 당신은 하나를 직접 구축해야 : 당신이 원하는 경우

import re 
delta = '5 days, 4:23:52.480000' 
days, hours, minutes, seconds = re.match('(?:(\d+) days,)?(\d+):(\d+):([.\d+]+)', delta).groups() 
total_seconds = ((int(days or 0) * 24 + int(hours)) * 60 + int(minutes)) * 60 + float(seconds) 
0

내가 timedelta에 텍스트를 구문 분석 아무것도 모르는 동안, 당신은 pandas.Timedelta 생성자 이해 지정한 형식은, 그래서, 당신은 사용할 수 있습니다 당신의 timedeltas 구축 : 더 나은 팬더를 알고

import pandas as pd 
import matplotlib.pyplot as plt 

x = [['5 days, 4:23:52.480000', 17.647166], 
    ['5 days, 5:56:09.166000', 22.916071], 
    ['5 days, 8:21:40.261000', 18.922329], 
    ['5 days, 9:53:18.070000', 21.392157], 
    ['6 days, 0:07:54.487000', 20.275597]] 

df = pd.DataFrame(x, columns=['TimeOffset', 'Value']) 

df['TimeOffset'] = df['TimeOffset'].apply(pd.Timedelta) 

plt.plot(df['TimeOffset'], df['Value']) 
plt.show() 

사람들이 대답을 편집 할 수 주시기 바랍니다 (이 메시지를 제거) - 본인은 pd.Timedelta 열이 비 관용적 수 있습니다 구성 방식 같은 느낌.