Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #43856
| From | someone <newsboost@gmail.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: anyone know pandas ? Don't understand error: NotImplementedError... |
| Date | 2013-04-18 21:30 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <kkphet$c6s$1@dont-email.me> (permalink) |
| References | <kkn2rj$tc$1@dont-email.me> <mailman.768.1366292703.3114.python-list@python.org> <atad0mFk976U1@mid.individual.net> |
On 04/18/2013 04:07 PM, Neil Cerutti wrote:
> On 2013-04-18, Wayne Werner <wayne@waynewerner.com> wrote:
>> On Wed, 17 Apr 2013, someone wrote:
....
>> Go to line 214, and take a look-see at what you find. My guess is it will
>> be something like:
>>
>> def rule_code():
>> raise NotImplementedError()
>>
>> Which is terribly unhelpful.
>
> It most likely means that the program is instantiating an
> abstract base class when it should be using one of its subclasses
> instead, e.g., BusinessDay, MonthEnd, MonthBegin,
> BusinessMonthEnd, etc.
>
> http://pandas.pydata.org/pandas-docs/dev/timeseries.html
Hi Neil and Wayne,
Thank you very much for your suggestions... I now found out something:
In the function:
def convertListPairToTimeSeries(dList, cList):
...
...
# create the timeseries
ts = pandas.Series(cListL, index=indx)
# fill in missing days
#ts = ts.asfreq(pandas.datetools.DateOffset())
return ts
I had to out-comment the last line before the return-statement (not sure
what that line is supposed to do, in the first case)...
Now the program runs, but no plot is seen. Then I found out that I had
to add:
import matplotlib.pyplot as plt
in the top of the program and add the following in the bottom of the
program:
plt.show()
Final program:
==================
#!/usr/bin/python
import pandas
import datetime
import numpy
import ipdb
import matplotlib.pyplot as plt
datesList = [datetime.date(2011,12,1), \
datetime.date(2011,12,2), \
datetime.date(2011,12,3), \
datetime.date(2011,12,10)]
countsList = numpy.random.randn(len(datesList))
startData = datetime.datetime(2011,12,3)
endData = datetime.datetime(2011,12,8)
def convertListPairToTimeSeries(dList, cList):
# my dateList had date objects, so convert back to datetime objects
dListDT = [datetime.datetime.combine(x, datetime.time()) for x in
dList]
# found that NaN didn't work if the cList contained int data
cListL = [float(x) for x in cList]
# create the index from the datestimes list
indx = pandas.Index(dListDT)
# create the timeseries
ts = pandas.Series(cListL, index=indx)
# fill in missing days
#ts = ts.asfreq(pandas.datetools.DateOffset())
return ts
print "\nOriginal datesList list:\n", datesList
tSeries = convertListPairToTimeSeries(datesList, countsList)
print "\nPandas timeseries:\n", tSeries
# use slicing to change length of data
tSeriesSlice = tSeries.ix[startData:endData]
print "\nPandas timeseries sliced between", startData.date(), \
"and", endData.date(), ":\n", tSeriesSlice
# use truncate instead of slicing to change length of data
tSeriesTruncate = tSeries.truncate(before=startData, after=endData)
print "\nPandas timeseries truncated between", startData.date(), \
"and", endData.date(), ":\n", tSeriesTruncate
# my data had lots of gaps that were actually 0 values, not missing data
# So I used this to fix the NaN outside the known outage
startOutage = datetime.datetime(2011,12,7)
endOutage = datetime.datetime(2011,12,8)
tsFilled = tSeries.fillna(0)
# set the known outage values back to NAN
tsFilled.ix[startOutage:endOutage] = numpy.NAN
print "\nPandas timeseries NaN reset to 0 outside known outage between", \
startOutage.date(), "and", endOutage.date(), ":\n", tsFilled
print "\nPandas series.tail(1) and series.head(1) are handy for " +\
"checking ends of list:\n", tsFilled.head(1), tsFilled.tail(1)
print
tsFilled.plot()
plt.show()
==================
This seem to work, although I don't fully understand it, as I'm pretty
new to pandas...
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
anyone know pandas ? Don't understand error: NotImplementedError... someone <newsboost@gmail.com> - 2013-04-17 23:08 +0200
Re: anyone know pandas ? Don't understand error: NotImplementedError... Wayne Werner <wayne@waynewerner.com> - 2013-04-18 08:44 -0500
Re: anyone know pandas ? Don't understand error: NotImplementedError... Neil Cerutti <neilc@norwich.edu> - 2013-04-18 14:07 +0000
Re: anyone know pandas ? Don't understand error: NotImplementedError... someone <newsboost@gmail.com> - 2013-04-18 21:30 +0200
Re: anyone know pandas ? Don't understand error: NotImplementedError... someone <newsboost@gmail.com> - 2013-04-18 20:28 +0200
csiph-web