Description
Spool.select function does not expect integers for coordinates as it calculates the argument's length.
Example
import dascore as dc
spool = dc.get_example_spool()
sub_spool = spool.select(distance=-1, samples=True)
raises:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[56], [line 4](vscode-notebook-cell:?execution_count=56&line=4)
[1](vscode-notebook-cell:?execution_count=56&line=1) import dascore as dc
[3](vscode-notebook-cell:?execution_count=56&line=3) spool = dc.get_example_spool()
----> [4](vscode-notebook-cell:?execution_count=56&line=4) sub_spool = spool.select(distance=-1, samples=True)
[5](vscode-notebook-cell:?execution_count=56&line=5) sub_spool
File c:\Users\tourei\dasmasw\dasmsw_testing\.venv\lib\site-packages\dascore\core\spool.py:527, in DataFrameSpool.select(self, **kwargs)
[524](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:524) @compose_docstring(doc=BaseSpool.select.__doc__)
[525](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:525) def select(self, **kwargs) -> Self:
[526](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:526) """{doc}."""
--> [527](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:527) _, _, extra_kwargs = split_df_query(kwargs, self._df, ignore_bad_kwargs=True)
[528](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:528) filtered_df = adjust_segments(self._df, ignore_bad_kwargs=True, **kwargs)
[529](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:529) inst = adjust_segments(
[530](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:530) self._instruction_df,
[531](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:531) ignore_bad_kwargs=True,
[532](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:532) **kwargs,
[533](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/core/spool.py:533) ).loc[lambda x: x["current_index"].isin(filtered_df.index)]
File c:\Users\tourei\dasmasw\dasmsw_testing\.venv\lib\site-packages\dascore\utils\pd.py:86, in split_df_query(kwargs, df, ignore_bad_kwargs)
[84](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:84) val = kwargs[key]
[85](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:85) subset = {min_key, max_key}.issubset(col_set)
---> [86](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:86) if subset and val is not None and len(val) == 2:
[87](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:87) # handles ... as None.
[88](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:88) new_val = [None if x is ... else x for x in val]
[89](file:///C:/Users/tourei/dasmasw/dasmsw_testing/.venv/lib/site-packages/dascore/utils/pd.py:89) range_query[key] = tuple(new_val)
TypeError: object of type 'int' has no len()
Expected behavior
Versions
- OS [e.g. Ubuntu 20.04]:
- DasCore Version [e.g. 0.0.5]:
- Python Version [e.g. 3.10]:
Description
Spool.selectfunction does not expect integers for coordinates as it calculates the argument's length.Example
raises:
Expected behavior
Versions