Skip to content

Commit

Permalink
Merge pull request #10 from sansbacon/main
Browse files Browse the repository at this point in the history
Added downcast option for dataframes with default as True
  • Loading branch information
cooperdff authored Aug 2, 2021
2 parents cf8268d + dcd53b1 commit e77401c
Showing 1 changed file with 32 additions and 2 deletions.
34 changes: 32 additions & 2 deletions nfl_data_py/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,18 @@
import datetime


def import_pbp_data(years, columns=None):
def import_pbp_data(years, columns=None, downcast=True):
"""Imports play-by-play data
Args:
years (List[int]): years to get PBP data for
columns (List[str]): only return these columns
downcast (bool): convert float64 to float32, default True
Returns:
DataFrame
"""
if not isinstance(years, (list, range)):
raise ValueError('Input must be list or range.')

Expand Down Expand Up @@ -41,12 +51,27 @@ def import_pbp_data(years, columns=None):

except:
print('Data not available for ' + str(year))

# converts float64 to float32, saves ~30% memory
if downcast:
cols = plays.select_dtypes(include=[numpy.float64]).columns
plays.loc[:, cols] = plays.loc[:, cols].astype(numpy.float32)

return plays


def import_weekly_data(years, columns=None):
def import_weekly_data(years, columns=None, downcast=True):
"""Imports weekly player data
Args:
years (List[int]): years to get PBP data for
columns (List[str]): only return these columns
downcast (bool): convert float64 to float32, default True
Returns:
DataFrame
"""
if not isinstance(years, (list, range)):
raise ValueError('Input must be list or range.')

Expand All @@ -62,6 +87,11 @@ def import_weekly_data(years, columns=None):
if len(columns) > 0:
data = data[columns]

# converts float64 to float32, saves ~30% memory
if downcast:
cols = data.select_dtypes(include=[numpy.float64]).columns
data.loc[:, cols] = data.loc[:, cols].astype(numpy.float32)

return data


Expand Down

0 comments on commit e77401c

Please sign in to comment.