预处理数据集

时间:2019-10-17 08:40:11

标签: python pandas

我有一个包含以下条目的数据集df。

Date         Count
19/09/2019   1491
20/09/2019   1692
21/09/2019   1753
22/09/2019   1817
23/09/2019   1986
24/09/2019   2022
25/09/2019   2343
26/09/2019   2277
27/09/2019   2343
28/09/2019   2599
29/09/2019   2622
30/09/2019   2704
01/10/2019   2903
02/10/2019   3035
03/10/2019   3099
04/10/2019   3204
05/10/2019   3285

我实际上正在尝试使用ARIMA分析数据集。我正在尝试按照帖子

中提到的步骤进行操作
  

https://machinelearningmastery.com/arima-for-time-series-forecasting-with-python/

但是我也面临着一些问题。

from pandas.plotting import autocorrelation_plot

autocorrelation_plot(series)
pyplot.show()

我正在尝试获取autocorrelation_plot,但是出现以下错误:

TypeError: can only concatenate str (not "int") to str

也是

当我尝试使用以下方法获取计数值时:

X = df.values

它以元组对的形式返回我

array([['19/09/2019', 1491],
       ['20/09/2019', 1692],
       ['21/09/2019', 1753],
       ['22/09/2019', 1817],
       ['23/09/2019', 1986],
       ['24/09/2019', 2022],
       ['25/09/2019', 2343],
       ['26/09/2019', 2277],
       ['27/09/2019', 2343],

不仅仅是计数。谁能建议我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

您的第一步是创建TimeSeries,因此将to_datetimeDataFrame.set_index一起使用:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
series = df.set_index('Date')['Count']

print (series)
Date
2019-09-19    1491
2019-09-20    1692
2019-09-21    1753
2019-09-22    1817
2019-09-23    1986
2019-09-24    2022
2019-09-25    2343
2019-09-26    2277
2019-09-27    2343
2019-09-28    2599
2019-09-29    2622
2019-09-30    2704
2019-10-01    2903
2019-10-02    3035
2019-10-03    3099
2019-10-04    3204
2019-10-05    3285
Name: Count, dtype: int64

print (series.index)
DatetimeIndex(['2019-09-19', '2019-09-20', '2019-09-21', '2019-09-22',
               '2019-09-23', '2019-09-24', '2019-09-25', '2019-09-26',
               '2019-09-27', '2019-09-28', '2019-09-29', '2019-09-30',
               '2019-10-01', '2019-10-02', '2019-10-03', '2019-10-04',
               '2019-10-05'],
              dtype='datetime64[ns]', name='Date', freq=None)