-
Notifications
You must be signed in to change notification settings - Fork 29
Open
Labels
bugSomething isn't workingSomething isn't working
Description
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]:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working