Consider the following code:
import polars as pl
dummy_data = {'sZcR': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.14, 'COL_YJbC': None, 'COL_ptRs': 64, 'COL_agEk': 91, 'COL_Bbmw': 0.17, 'COL_Lxcj': 0.99}, 'PVFG': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.83, 'COL_YJbC': None, 'COL_ptRs': 97, 'COL_agEk': 12, 'COL_Bbmw': 0.88, 'COL_Lxcj': 0.88}, 'YrgF': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.76, 'COL_YJbC': None, 'COL_ptRs': 51, 'COL_agEk': 49, 'COL_Bbmw': 0.59, 'COL_Lxcj': 0.17}, 'U1FT': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.28, 'COL_YJbC': None, 'COL_ptRs': 29, 'COL_agEk': 58, 'COL_Bbmw': 0.62, 'COL_Lxcj': 0.76}, 'fVHR': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.32, 'COL_YJbC': 0.37, 'COL_nBny': 0.83, 'COL_ZL2X': 0.98}, 'K4OR': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.32, 'COL_YJbC': 0.72, 'COL_nBny': 0.4, 'COL_ZL2X': 0.26}, 'SWTC': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.92, 'COL_YJbC': 0.97, 'COL_nBny': 0.68, 'COL_ZL2X': 0.88}, 'zPvt': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.26, 'COL_YJbC': 0.56, 'COL_nBny': 0.44, 'COL_ZL2X': 0.57}, 'FEN5': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 3, 'COL_YJbC': 45, 'COL_nBny': 14, 'COL_ZL2X': 34}, 'LWiB': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.03, 'COL_YJbC': 0.8, 'COL_nBny': 0.49, 'COL_ZL2X': 0.66}, 'GsHo': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.87, 'COL_YJbC': 0.64, 'COL_nBny': 0.49, 'COL_ZL2X': 0.18}, '2NW3': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.43, 'COL_YJbC': 0.22, 'COL_nBny': 0.8, 'COL_ZL2X': 0.41}, 'h39x': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.91, 'COL_YJbC': 0.62, 'COL_nBny': 0.05, 'COL_ZL2X': 0.49}, 'P1uR': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.09, 'COL_YJbC': 0.43, 'COL_nBny': 0.8, 'COL_ZL2X': 0.91}, '8hhd': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.64, 'COL_YJbC': 0.96, 'COL_nBny': 0.24, 'COL_ZL2X': 0.41}, 'yZAi': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.5, 'COL_YJbC': 0.55, 'COL_nBny': 0.83, 'COL_ZL2X': 0.47}, 'cnwg': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 37, 'COL_YJbC': 13, 'COL_nBny': 3, 'COL_ZL2X': 57}, '4dlc': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.16, 'COL_YJbC': 0.03, 'COL_nBny': 0.45, 'COL_ZL2X': 0.78}, 'It36': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.92, 'COL_YJbC': 0.43, 'COL_nBny': 0.47, 'COL_ZL2X': 0.95}, 'pH2N': {'COL_sMy3': None, 'COL_mTmp': None, 'COL_rP05': 0.88, 'COL_YJbC': 0.82, 'COL_nBny': 0.44, 'COL_ZL2X': 0.46}}
SCHEMA = {'COL_rP05': pl.Float64, 'COL_sMy3': pl.Float64, 'COL_mTmp': pl.Float64, 'COL_YJbC': pl.Float64, 'COL_Bbmw': pl.Float64, 'COL_Lxcj': pl.Float64, 'COL_agEk': pl.Float64, 'COL_ptRs': pl.Float64, 'COL_qFEW': pl.Float64, 'COL_nBny': pl.Float64, 'COL_ZL2X': pl.Float64, 'COL_JJJz': pl.Object, 'COL_yEi2': pl.Object, 'COL_RYJB': pl.Object, 'COL_mwlr': pl.Object}
dummy_ids = list(dummy_data)
df_temp = pl.DataFrame(list(dummy_data.values()), schema=SCHEMA).with_columns([pl.Series('my_id', dummy_data.keys())])
df_temp = df_temp.filter(pl.col('my_id').is_in(dummy_ids))
df_temp.fill_null(float('nan'))
which creates this error:
PanicException Traceback (most recent call last)
---> 9 df_temp.fill_null(float('nan'))
File Libsite-packagespolarsdataframeframe.py:7702, in DataFrame.fill_null(self, value, strategy, limit, matches_supertype)
7699 return (
7700 self.lazy()
7701 .fill_null(value, strategy, limit, matches_supertype=matches_supertype)
-> 7702 .collect(_eager=True)
7703 )
File Libsite-packagespolarslazyframeframe.py:2027,
in LazyFrame.collect(self, type_coercion, predicate_pushdown, projection_pushdown, simplify_expression, slice_pushdown,
comm_subplan_elim, comm_subexpr_elim, cluster_with_columns, no_optimization, streaming, engine, background, _eager, **_kwargs)
2025 # Only for testing purposes
2026 callback = _kwargs.get("post_opt_callback", callback)
-> 2027 return wrap_df(ldf.collect(callback))
PanicException: implementation error
Is there a way to fix it? I’ve tested this code on 1.4.1 and 1.3.0 and both throw the same exception.
Exact details:
--------Version info---------
Polars: 1.4.1
Index type: UInt32
Platform: Windows-10-10.0.19045-SP0
Python: 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]
----Optional dependencies----
adbc_driver_manager: <not installed>
cloudpickle: <not installed>
connectorx: <not installed>
deltalake: <not installed>
fastexcel: <not installed>
fsspec: <not installed>
gevent: <not installed>
great_tables: <not installed>
hvplot: <not installed>
matplotlib: 3.7.1
nest_asyncio: 1.5.6
numpy: 1.26.4
openpyxl: <not installed>
pandas: 2.1.4
pyarrow: 16.1.0
pydantic: <not installed>
pyiceberg: <not installed>
sqlalchemy: 1.4.47
torch: <not installed>
xlsx2csv: <not installed>
xlsxwriter: <not installed>