Reputation: 1194
I am following the solution codes of Harvard-CS109-homework-1 of https://github.com/cs109/content
on iPythonNotebook, and have this error (I did not change the solution code) after running this line of code "errors = all_error_data()" :
errors = all_error_data()
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:67: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:46: FutureWarning: .resample() is now a deferred operation
use .resample(...).mean() instead of .resample(...)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-18-aea6d425eefd> in <module>()
----> 1 errors = all_error_data()
<ipython-input-17-2a9c686164e8> in all_error_data()
17 #your code here
18 def all_error_data():
---> 19 data = [error_data(race_page) for race_page in find_governor_races(page)]
20 return pd.concat(data, ignore_index=True)
<ipython-input-14-5c576ec1e316> in error_data(url)
48 #compute forecast length in days
49 #(assuming that last forecast happens on the day of the election, for simplicity)
---> 50 forecast_length = (df.date.max() - df.date).values
51 forecast_length = forecast_length / np.timedelta64(1, 'D') # convert to number of days
52
//anaconda/lib/python2.7/site-packages/pandas/core/generic.pyc in __getattr__(self, name)
2667 if name in self._info_axis:
2668 return self[name]
-> 2669 return object.__getattribute__(self, name)
2670
2671 def __setattr__(self, name, value):
AttributeError: 'DataFrame' object has no attribute 'date'
Thank a lot for sharing suggestions !!
Upvotes: 0
Views: 3172
Reputation: 360
I came across the same problem and did some research. There have been several changes to the pandas.resample which now changes the DataFrame and deletes non numerical data.
After the pd.resample there is no 'data' column so in order to fix your code just change the 50th line to address the index column instead of the data co:
forecast_length = (df.index.max() - df.index).values
Upvotes: 2