GithubHelp home page GithubHelp logo

Comments (8)

ochawkeye avatar ochawkeye commented on July 20, 2024

I don't think you're missing anything. I noticed the same issue in the sample code provided.

Try:

q = nfldb.Query(db)
q.game(season_year=2013, season_type='Regular', week=1)
q.play_player(team='NE')
for d in q.as_drives():
    print d

I know there is probably a better way there than q.play_player, but it seems to work. @BurntSushi can probably explain

What am I missing?

Github markdown FYI: If you add

#```python

and

#```

around your code (minus the pound signs) that you post here, it will make it pretty.

from nfldb.

BurntSushi avatar BurntSushi commented on July 20, 2024

Dammit. This is a genuine bug. I got overzealous with error checking in the last release. Nice find!

from nfldb.

ochawkeye avatar ochawkeye commented on July 20, 2024

I'm going to change my answer here - something appears to be wrong. Almost every example gives a q.game(team='NE') methodology...

from nfldb.

BurntSushi avatar BurntSushi commented on July 20, 2024

P.S. @ochawkeye Have you see the write up for the nfldb 0.2.0 release? https://github.com/BurntSushi/nfldb/releases/tag/0.2.0 (TL;DR I completely re-wrote nfldb.query.)

from nfldb.

BurntSushi avatar BurntSushi commented on July 20, 2024

OK, this is fixed.

@roodhouse You will need to run pip install --upgrade nfldb and then the examples should work. Sorry about that!

@ochawkeye P.S. Check out the fix. We have regression tests now. :-)

from nfldb.

roodhouse avatar roodhouse commented on July 20, 2024

Thanks guys. Time to test my newly learned skill. If I come back here
then you know what happened..

On Wed, Jul 30, 2014 at 5:46 PM, Andrew Gallant [email protected]
wrote:

OK, this is fixed.

@roodhouse https://github.com/roodhouse You will need to run pip
install --upgrade nfldb and then the examples should work. Sorry about
that!

@ochawkeye https://github.com/ochawkeye P.S. Check out the fix. We have
regression tests now. :-)


Reply to this email directly or view it on GitHub
#34 (comment).

from nfldb.

ochawkeye avatar ochawkeye commented on July 20, 2024

Out of curiosity, how expensive is a database query as opposed to iterating over the data redundantly?

q = nfldb.Query(db)
q.game(season_year=2013, season_type='Regular', week=1, team='NE')
q.drive(pos_team='NE')
for d in q.as_drives():
    print d

q = nfldb.Query(db)
q.game(season_year=2013, season_type='Regular', week=1, team='NE')
q.drive(pos_team='BUF')
for d in q.as_drives():
    print d

vs.

q = nfldb.Query(db)
q.game(season_year=2013, season_type='Regular', week=1, team='NE')
for d in q.as_drives():
    if d.pos_team == 'NE':
        print d
for d in q.as_drives():
    if d.pos_team == 'BUF':
        print d

Running first sample 100 times:

Execution time for 100 cycles = 2.66303673806
Average per cycle = 0.0266303673806

Running second sample 100 times:

Execution time for 100 cycles = 4.58160582431
Average per cycle = 0.0458160582431

But repeating tests gives drastically varying times. Any thoughts on this?

from nfldb.

BurntSushi avatar BurntSushi commented on July 20, 2024

@ochawkeye As a general rule of thumb, the more you put into a database query and the less work you do in Python, the faster it will be. I think that is consistent with your tests because you're doing more work in Python in the second example.

I would suggest removing week=1 and doing the test over an entire season to get stabler numbers.

Also, your tests should not have print in them. That could also be a source of instability between test runs. Maybe do a sum of something instead.

(If you wait, I'll do it when I get home later today.)

from nfldb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.