如何转换时间格式DayOfyear:Hour:Minute.000

时间:2018-12-19 22:14:49

标签: python datetime matplotlib type-conversion

我想绘制数据,其中Y是某个位置,X是时间。时间的格式为240:19:35:50.000(Julian:Hour:Minute:Second.Milliseconds)。当我尝试绘图时,它会输出错误ValueError: Error parsing datetime string "240:19:35:50.000" at position 3

我曾尝试使用字符串格式化程序(例如strftime),但没有成功:

time = time.strftime('%H:%M:%S.%f')[:-3]

下面是我的代码段:

# I have no need for the julian portion I removed it
time = data['Time'].str.slice(start=4)
time = time.strftime('%H:%M:%S.%f')[:-3]
pitchPlot = plt.subplot(7, 1, 3)
plt.plot((time), data['Pitch Stick Position(IN)'])

这将输出:AttributeError:'Series'对象没有属性'strftime',这很奇怪,因为它在documentation中显示它存在。

我想要将其转换为H:Minutes:Seconds:Milliseconds作为日期时间对象,以便可以使用matplotlib对其进行绘制。

更新:我尝试按照

的建议使用to_datetime
data['Time'] = pd.to_datetime(data['Time'], format='%H:%M:%S.%f')[:-3].dt.time

但是输出很奇怪。这是最后6个原始输入

index    time
10165    240:19:35:49.000
10166    240:19:35:49.200
10167    240:19:35:49.400
10168    240:19:35:49.600
10169    240:19:35:49.800
10170    240:19:35:50.000

和最后6个输出:

index    time converted
10165    19:35:49
10166    19:35:49.200000
10167    19:35:49.400000
10168    NaN
10169    NaN
10170    NaN

0 个答案:

没有答案