我的 Postgres 数据库在这里以这种格式保存日期 2019-05-22 18:01:38.425533+00
。为了我的回归模型,我必须处理这个日期。因此,我尝试使用 df['created'] = pd.to_datetime(df.created)
来转换它。我选择的格式是否正确来处理我的数据?如果我绘制数据,它会显示那张图片。数据的值从 0 到 200 似乎不对。
# 加载数据
def load_event_data():
df = pd.read_csv('event_data.csv')
df['created'] = pd.to_datetime(df.created)
return df
event_data = load_event_data()
print("定义的索引是", event_data.index.name)
# 可视化数据
plt.figure(figsize=(15, 6))
plt.plot(event_data.index, event_data.tickets_sold_sum)
plt.xlabel("日期")
plt.ylabel("租赁量")
这里是一些样本数据: https://docs.google.com/spreadsheets/d/1cJAcamytX4zmQBpbQZYIi-HK5T0JlAJ5Dx3b1D6adxQ/edit?usp=sharing
回答:
这里的问题是你绘制了索引值而不是created
列,因此请使用:
plt.plot(event_data.created, event_data.tickets_sold_sum)
或者使用 pandas 进行绘图:
event_data.plot(x='created', y='tickets_sold_sum')
如果需要使用DatetimeIndex
,首先创建它 – 例如,通过参数index_col
和parse_dates
:
def load_event_data():
df = pd.read_csv('created.csv', index_col='created', parse_dates=['created'])
return df
event_data = load_event_data()
print (event_data.index)
DatetimeIndex(['2019-05-22 18:01:38.425533+00:00',
'2019-05-22 18:02:17.867726+00:00',
'2019-05-22 18:02:32.441820+00:00',
'2019-05-22 18:03:07.093599+00:00',
'2019-05-22 18:03:22.857492+00:00',
'2019-05-22 18:04:07.453356+00:00',
'2019-05-22 18:04:24.382271+00:00',
'2019-05-22 18:04:34.670751+00:00',
'2019-05-22 18:05:04.781586+00:00',
'2019-05-22 18:05:28.475102+00:00',
'2019-05-22 18:05:41.469483+00:00',
'2019-05-22 18:06:04.184309+00:00',
'2019-05-22 18:06:07.344332+00:00',
'2019-05-22 18:06:21.596053+00:00',
'2019-05-22 18:06:29.980078+00:00',
'2019-05-22 18:06:36.331180+00:00',
'2019-05-22 18:06:46.557717+00:00',
'2019-05-22 18:06:50.681479+00:00',
'2019-05-22 18:07:07.288164+00:00',
'2019-05-22 18:07:12.296925+00:00',
'2019-05-22 18:07:42.836565+00:00',
'2019-05-22 18:07:56.903366+00:00',
'2019-05-22 18:09:03.798696+00:00',
'2019-05-22 18:09:20.485152+00:00',
'2019-05-22 18:10:22.913068+00:00',
'2019-05-22 18:10:30.922313+00:00',
'2019-05-22 18:11:36.149465+00:00',
'2019-05-22 18:11:45.239620+00:00',
'2019-05-22 18:11:48.826544+00:00'],
dtype='datetime64[ns, UTC]', name='created', freq=None)
print("定义的索引是", event_data.index.name)
# 可视化数据
plt.figure(figsize=(15, 6))
plt.plot(event_data.index, event_data.tickets_sold_sum)
plt.xlabel("日期")
plt.ylabel("租赁量")