nfl_data_py icon indicating copy to clipboard operation
nfl_data_py copied to clipboard

Indexing Issue With import_weekly_rosters

Open chrismjim opened this issue 2 years ago • 2 comments

When trying to import weekly rosters I keep running into this error:

roster_data = nfl.import_weekly_rosters(years=range(2013, 2024))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/nfl_data_py/__init__.py", line 474, in import_weekly_rosters
    rosters["age"] = ((roster_dates - rosters.birth_date).dt.days / 365.25).round(3)
    ~~~~~~~^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/frame.py", line 4091, in __setitem__
    self._set_item(key, value)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/frame.py", line 4300, in _set_item
    value, refs = self._sanitize_column(value)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/frame.py", line 5036, in _sanitize_column
    return _reindex_for_setitem(value, self.index)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/frame.py", line 12309, in _reindex_for_setitem
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/frame.py", line 12304, in _reindex_for_setitem
    reindexed_value = value.reindex(index)._values
                      ^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/series.py", line 4977, in reindex
    return super().reindex(
           ^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/generic.py", line 5521, in reindex
    return self._reindex_axes(
           ^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/generic.py", line 5544, in _reindex_axes
    new_index, indexer = ax.reindex(
                         ^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 4433, in reindex
    raise ValueError("cannot reindex on an axis with duplicate labels")
ValueError: cannot reindex on an axis with duplicate labels

chrismjim avatar Oct 26 '23 23:10 chrismjim

+1 - also experiencing this.

Reproducible with:

years = range(2010,2024)
df_rosters = nfl.import_weekly_rosters(years)

DylanKeyer avatar Jan 14 '24 02:01 DylanKeyer

my work around is to get one year at a time.

weekly_rosters = nfl.import_weekly_rosters([2022])

scrowder1172 avatar Jul 19 '24 03:07 scrowder1172

This is fixed in nfl_data_py 0.3.3!

alecglen avatar Sep 17 '24 02:09 alecglen