【发布时间】:2020-11-22 17:20:25
【问题描述】:
我有两列时间和值的数据框。 Time 列中的实际值以 seconds.milliseconds 格式给出。 我以以下方式创建了数据框:
test_df = pd.DataFrame({'Time': [1595006371.756430732,1595006372.502789381 ,1595006373.784446912 ,1595006375.476658051], 'Values': [4,5,6,10]},index=list('0123'))
然后我检查了时间列的类型
test_df.dtypes
时间列类型为 float64。 然后,我使用
将 float64 转换为 datetime64[ns]test_df['Time']=pd.to_datetime(test_df['Time'], unit='ms')
我为时间设置标签并使用绘制值
import matplotlib.pyplot as plt
plt.xlabel('Time')
ax=test_df.set_index('Time).plot(lw=3)
时间以适当的格式显示小时:分钟:秒。 问题是时间列中的值显示不正确。在上面的例子中,时间跨度在一秒以内,而实际的时间跨度是几秒。
当我对整个数据集使用相同的过程时,我得到的时间跨度以秒为单位,但它应该以小时为单位。换句话说,看剧情,我会说经过的时间是几十秒,而不是应该的几个小时。
我该如何解决这个问题?
【问题讨论】:
标签: python datetime matplotlib plot datetime-format