Closed Chaoyism closed 5 months ago
Please provide a minimal, self-contained, and reproducible example: Hi! I cloned the project and tried running the overview.ipynb without any modification. Everything was fine except the summary tear sheet. When I ran:
`alphalens.tears.create_summary_tear_sheet(factor_data)`
The sheet cannot be generated, and I got the "TypeError: Cannot perform min with non-ordered Categorical".
Please provide the full traceback:
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) [d:\alphalens-reloaded\docs\source\notebooks\overview.ipynb](file:///D:/alphalens-reloaded/docs/source/notebooks/overview.ipynb) 单元格 93 line 1 ----> [1](vscode-notebook-cell:/d%3A/alphalens-reloaded/docs/source/notebooks/overview.ipynb#Y161sZmlsZQ%3D%3D?line=0) alphalens.tears.create_summary_tear_sheet(factor_data) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\alphalens\plotting.py:46, in customize.<locals>.call_w_context(*args, **kwargs) [44](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:44) with plotting_context(), axes_style(), color_palette: [45](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:45) sns.despine(left=True) ---> [46](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:46) return func(*args, **kwargs) [47](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:47) else: [48](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:48) return func(*args, **kwargs) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\alphalens\tears.py:131, in create_summary_tear_sheet(factor_data, long_short, group_neutral) [128](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:128) vertical_sections = 2 + fr_cols * 3 [129](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:129) gf = GridFigure(rows=vertical_sections, cols=1) --> [131](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:131) plotting.plot_quantile_statistics_table(factor_data) [133](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:133) plotting.plot_returns_table(alpha_beta, mean_quant_rateret, mean_ret_spread_quant) [135](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:135) plotting.plot_quantile_returns_bar( [136](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:136) mean_quant_rateret, [137](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:137) by_group=False, [138](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:138) ylim_percentiles=None, [139](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:139) ax=gf.next_row(), [140](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/tears.py:140) ) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\alphalens\plotting.py:188, in plot_quantile_statistics_table(factor_data) [187](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:187) def plot_quantile_statistics_table(factor_data): --> [188](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:188) quantile_stats = factor_data.groupby("factor_quantile").agg( [189](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:189) ["min", "max", "mean", "std", "count"] [190](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:190) )["factor"] [191](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:191) quantile_stats["count %"] = ( [192](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:192) quantile_stats["count"] / quantile_stats["count"].sum() * 100.0 [193](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:193) ) [195](file:///D:/Program%20Files/Python/Python39/lib/site-packages/alphalens/plotting.py:195) print("Quantiles Statistics") File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\generic.py:1269, in DataFrameGroupBy.aggregate(self, func, engine, engine_kwargs, *args, **kwargs) [1266](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:1266) func = maybe_mangle_lambdas(func) [1268](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:1268) op = GroupByApply(self, func, args, kwargs) -> [1269](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:1269) result = op.agg() [1270](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:1270) if not is_dict_like(func) and result is not None: [1271](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:1271) return result File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\apply.py:166, in Apply.agg(self) [163](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:163) return self.agg_dict_like() [164](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:164) elif is_list_like(arg): [165](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:165) # we require a list, but not a 'str' --> [166](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:166) return self.agg_list_like() [168](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:168) if callable(arg): [169](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:169) f = com.get_cython_func(arg) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\apply.py:355, in Apply.agg_list_like(self) [351](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:351) new_res = colg.aggregate( [352](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:352) arg, self.axis, *self.args, **self.kwargs [353](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:353) ) [354](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:354) else: --> [355](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:355) new_res = colg.aggregate(arg, *self.args, **self.kwargs) [356](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:356) results.append(new_res) [357](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/apply.py:357) indices.append(index) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\generic.py:238, in SeriesGroupBy.aggregate(self, func, engine, engine_kwargs, *args, **kwargs) [234](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:234) elif isinstance(func, abc.Iterable): [235](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:235) # Catch instances of lists / tuples [236](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:236) # but not the class list / tuple itself. [237](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:237) func = maybe_mangle_lambdas(func) --> [238](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:238) ret = self._aggregate_multiple_funcs(func, *args, **kwargs) [239](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:239) if relabeling: [240](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:240) # columns is not narrowed by mypy from relabeling flag [241](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:241) assert columns is not None # for mypy File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\generic.py:316, in SeriesGroupBy._aggregate_multiple_funcs(self, arg, *args, **kwargs) [314](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:314) for idx, (name, func) in enumerate(arg): [315](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:315) key = base.OutputKey(label=name, position=idx) --> [316](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:316) results[key] = self.aggregate(func, *args, **kwargs) [318](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:318) if any(isinstance(x, DataFrame) for x in results.values()): [319](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:319) from pandas import concat File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\generic.py:232, in SeriesGroupBy.aggregate(self, func, engine, engine_kwargs, *args, **kwargs) [229](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:229) kwargs = {} [231](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:231) if isinstance(func, str): --> [232](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:232) return getattr(self, func)(*args, **kwargs) [234](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:234) elif isinstance(func, abc.Iterable): [235](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:235) # Catch instances of lists / tuples [236](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:236) # but not the class list / tuple itself. [237](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/generic.py:237) func = maybe_mangle_lambdas(func) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\groupby.py:2293, in GroupBy.min(self, numeric_only, min_count, engine, engine_kwargs) [2291](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2291) return self._numba_agg_general(sliding_min_max, engine_kwargs, False) [2292](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2292) else: -> [2293](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2293) return self._agg_general( [2294](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2294) numeric_only=numeric_only, [2295](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2295) min_count=min_count, [2296](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2296) alias="min", [2297](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2297) npfunc=np.min, [2298](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:2298) ) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\groupby.py:1422, in GroupBy._agg_general(self, numeric_only, min_count, alias, npfunc) [1413](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1413) @final [1414](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1414) def _agg_general( [1415](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1415) self, (...) [1420](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1420) npfunc: Callable, [1421](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1421) ): -> [1422](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1422) result = self._cython_agg_general( [1423](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1423) how=alias, [1424](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1424) alt=npfunc, [1425](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1425) numeric_only=numeric_only, [1426](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1426) min_count=min_count, [1427](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1427) ) [1428](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1428) return result.__finalize__(self.obj, method="groupby") File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\groupby.py:1507, in GroupBy._cython_agg_general(self, how, alt, numeric_only, min_count, **kwargs) [1503](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1503) result = self._agg_py_fallback(values, ndim=data.ndim, alt=alt) [1505](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1505) return result -> [1507](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1507) new_mgr = data.grouped_reduce(array_func) [1508](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1508) res = self._wrap_agged_manager(new_mgr) [1509](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1509) out = self._wrap_aggregated_output(res) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\internals\base.py:197, in SingleDataManager.grouped_reduce(self, func) [195](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/internals/base.py:195) def grouped_reduce(self, func): [196](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/internals/base.py:196) arr = self.array --> [197](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/internals/base.py:197) res = func(arr) [198](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/internals/base.py:198) index = default_index(len(res)) [200](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/internals/base.py:200) mgr = type(self).from_array(res, index) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\groupby.py:1490, in GroupBy._cython_agg_general.<locals>.array_func(values) [1488](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1488) def array_func(values: ArrayLike) -> ArrayLike: [1489](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1489) try: -> [1490](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1490) result = self.grouper._cython_operation( [1491](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1491) "aggregate", [1492](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1492) values, [1493](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1493) how, [1494](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1494) axis=data.ndim - 1, [1495](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1495) min_count=min_count, [1496](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1496) **kwargs, [1497](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1497) ) [1498](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1498) except NotImplementedError: [1499](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1499) # generally if we have numeric_only=False [1500](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1500) # and non-applicable functions [1501](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1501) # try to python agg [1502](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1502) # TODO: shouldn't min_count matter? [1503](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/groupby.py:1503) result = self._agg_py_fallback(values, ndim=data.ndim, alt=alt) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\ops.py:959, in BaseGrouper._cython_operation(self, kind, values, how, axis, min_count, **kwargs) [957](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:957) ids, _, _ = self.group_info [958](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:958) ngroups = self.ngroups --> [959](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:959) return cy_op.cython_operation( [960](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:960) values=values, [961](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:961) axis=axis, [962](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:962) min_count=min_count, [963](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:963) comp_ids=ids, [964](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:964) ngroups=ngroups, [965](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:965) **kwargs, [966](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:966) ) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\ops.py:645, in WrappedCythonOp.cython_operation(self, values, axis, min_count, comp_ids, ngroups, **kwargs) [641](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:641) is_numeric = is_numeric_dtype(dtype) [643](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:643) # can we do this operation with our cython functions [644](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:644) # if not raise NotImplementedError --> [645](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:645) self._disallow_invalid_ops(dtype, is_numeric) [647](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:647) if not isinstance(values, np.ndarray): [648](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:648) # i.e. ExtensionArray [649](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:649) return self._ea_wrap_cython_operation( [650](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:650) values, [651](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:651) min_count=min_count, (...) [654](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:654) **kwargs, [655](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:655) ) File [d:\Program](file:///D:/Program) Files\Python\Python39\lib\site-packages\pandas\core\groupby\ops.py:247, in WrappedCythonOp._disallow_invalid_ops(self, dtype, is_numeric) [242](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:242) raise TypeError(f"{dtype} type does not support {how} operations") [243](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:243) if how in ["min", "max", "rank"] and not dtype.ordered: [244](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:244) # raise TypeError instead of NotImplementedError to ensure we [245](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:245) # don't go down a group-by-group path, since in the empty-groups [246](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:246) # case that would fail to raise --> [247](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:247) raise TypeError(f"Cannot perform {how} with non-ordered Categorical") [248](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:248) if how not in ["rank"]: [249](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:249) # only "rank" is implemented in cython [250](file:///D:/Program%20Files/Python/Python39/lib/site-packages/pandas/core/groupby/ops.py:250) raise NotImplementedError(f"{dtype} dtype not supported") TypeError: Cannot perform min with non-ordered Categorical
Please provide any additional information below:
Package Version
alphalens-reloaded 0.4.3 appdirs 1.4.4 asttokens 2.4.0 backcall 0.2.0 beautifulsoup4 4.12.2 Bottleneck 1.3.7 Brotli 1.1.0 certifi 2023.7.22 charset-normalizer 3.3.0 colorama 0.4.6 comm 0.1.4 contourpy 1.1.1 cycler 0.12.1 debugpy 1.8.0 decorator 5.1.1 empyrical-reloaded 0.5.9 et-xmlfile 1.1.0 exceptiongroup 1.1.3 executing 2.0.0 fire 0.5.0 fonttools 4.43.1 frozendict 2.3.10 greenlet 3.0.0 html5lib 1.1 idna 3.4 importlib-metadata 6.8.0 importlib-resources 6.1.0 ipykernel 6.25.2 ipython 8.16.1 jedi 0.19.1 jupyter_client 8.3.0 jupyter_core 5.3.1 kiwisolver 1.4.5 lxml 4.9.3 matplotlib 3.7.2 matplotlib-inline 0.1.6 msgpack 1.0.7 multitasking 0.0.11 mysql-connector-python 8.1.0 nest-asyncio 1.5.8 numpy 1.25.2 openpyxl 3.1.2 orjson 3.9.9 packaging 23.2 pandas 2.0.3 pandas-datareader 0.10.0 parso 0.8.3 patsy 0.5.4 peewee 3.17.0 pickleshare 0.7.5 Pillow 10.1.0 pip 22.0.4 platformdirs 3.11.0 prompt-toolkit 3.0.39 protobuf 4.21.12 psutil 5.9.6 pure-eval 0.2.2 Pygments 2.16.1 PyMySQL 1.1.0 pyparsing 3.0.9 python-dateutil 2.8.2 python-rapidjson 1.12 pytz 2023.3.post1 pywin32 306 PyYAML 6.0.1 pyzmq 25.1.1 requests 2.31.0 rqdatac 2.11.8.3 scipy 1.11.4 seaborn 0.13.0 setuptools 58.1.0 six 1.16.0 soupsieve 2.5 SQLAlchemy 2.0.22 stack-data 0.6.3 statsmodels 0.14.0 termcolor 2.3.0 tornado 6.3.3 tqdm 4.66.1 traitlets 5.11.2 typing_extensions 4.8.0 tzdata 2023.3 urllib3 2.0.7 wcwidth 0.2.8 webencodings 0.5.1 win-inet-pton 1.1.0 xlrd 2.0.1 yfinance 0.2.32 zipp 3.17.0
这个问题还没有解决吗?
我也遇到这个问题,但是单个能输出应该不影响,有可能是版本的原因
Should have been addressed by #28.
Problem Description
Please provide a minimal, self-contained, and reproducible example: Hi! I cloned the project and tried running the overview.ipynb without any modification. Everything was fine except the summary tear sheet. When I ran:
The sheet cannot be generated, and I got the "TypeError: Cannot perform min with non-ordered Categorical".
Please provide the full traceback:
Please provide any additional information below:
Versions
Whole Pip List:
Package Version
alphalens-reloaded 0.4.3 appdirs 1.4.4 asttokens 2.4.0 backcall 0.2.0 beautifulsoup4 4.12.2 Bottleneck 1.3.7 Brotli 1.1.0 certifi 2023.7.22 charset-normalizer 3.3.0 colorama 0.4.6 comm 0.1.4 contourpy 1.1.1 cycler 0.12.1 debugpy 1.8.0 decorator 5.1.1 empyrical-reloaded 0.5.9 et-xmlfile 1.1.0 exceptiongroup 1.1.3 executing 2.0.0 fire 0.5.0 fonttools 4.43.1 frozendict 2.3.10 greenlet 3.0.0 html5lib 1.1 idna 3.4 importlib-metadata 6.8.0 importlib-resources 6.1.0 ipykernel 6.25.2 ipython 8.16.1 jedi 0.19.1 jupyter_client 8.3.0 jupyter_core 5.3.1 kiwisolver 1.4.5 lxml 4.9.3 matplotlib 3.7.2 matplotlib-inline 0.1.6 msgpack 1.0.7 multitasking 0.0.11 mysql-connector-python 8.1.0 nest-asyncio 1.5.8 numpy 1.25.2 openpyxl 3.1.2 orjson 3.9.9 packaging 23.2 pandas 2.0.3 pandas-datareader 0.10.0 parso 0.8.3 patsy 0.5.4 peewee 3.17.0 pickleshare 0.7.5 Pillow 10.1.0 pip 22.0.4 platformdirs 3.11.0 prompt-toolkit 3.0.39 protobuf 4.21.12 psutil 5.9.6 pure-eval 0.2.2 Pygments 2.16.1 PyMySQL 1.1.0 pyparsing 3.0.9 python-dateutil 2.8.2 python-rapidjson 1.12 pytz 2023.3.post1 pywin32 306 PyYAML 6.0.1 pyzmq 25.1.1 requests 2.31.0 rqdatac 2.11.8.3 scipy 1.11.4 seaborn 0.13.0 setuptools 58.1.0 six 1.16.0 soupsieve 2.5 SQLAlchemy 2.0.22 stack-data 0.6.3 statsmodels 0.14.0 termcolor 2.3.0 tornado 6.3.3 tqdm 4.66.1 traitlets 5.11.2 typing_extensions 4.8.0 tzdata 2023.3 urllib3 2.0.7 wcwidth 0.2.8 webencodings 0.5.1 win-inet-pton 1.1.0 xlrd 2.0.1 yfinance 0.2.32 zipp 3.17.0