我正在使用霍尔特冬季方法从这里获得帮助。我的数据格式为
Year Rate
0 2013 34.700000
1 2013 34.666667
2 2013 34.600000
3 2014 35.300000
4 2014 34.180000
下面是我的代码
import pandas as pd
#Importing data
df = pd.read_csv('/home/rajnish.kumar/eclipse-workspace/ShivShakti/Result/weeklyDatarateyearonly/part-00000-971f46d7-a97d-4a7e-be41-dc840c2d0618-c000.csv')
df.Timestamp = pd.to_datetime(df.Datetime,format='%Y')
但是我收到此错误:
属性错误:"数据帧"对象没有属性"日期时间">
如果你的数据确实如图所示(带有列Rate
和Year
(,你引用的列(Datetime
(不存在(与链接博客文章中的数据相反,其中确实有这样的列(:
import pandas as pd
data = {'Year':[2013, 2013, 2013, 2014, 2014], 'Rate':[34.7, 34.6,34.6,35.3,34.18]}
df = pd.DataFrame(data, columns=["Year", "Rate"])
df.Timestamp = pd.to_datetime(df.Datetime,format='%Y')
# AttributeError: 'DataFrame' object has no attribute 'Datetime'
您应该改为引用Year
:
df['Timestamp'] = pd.to_datetime(df['Year'],format='%Y')
df
# result:
Year Rate Timestamp
0 2013 34.70 2013-01-01
1 2013 34.60 2013-01-01
2 2013 34.60 2013-01-01
3 2014 35.30 2014-01-01
4 2014 34.18 2014-01-01
你可以使用这样的东西:
import pandas as pd
data = {'Year':[2013, 2013, 2013, 2014, 2014], 'Rate':[34.7, 34.6,34.6,35.3,34.18]}
df = pd.DataFrame(data, columns=["Year", "Rate"])
df.Timestamp = pd.to_datetime(df.Year)