`col_summary_tbl()` raises a bare `AssertionError` when no column has a supported type
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 半日
- 初心者へのやさしさ
- 62/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 領域
- data, testing-qa
調査の方向性
Start with the bare assert self.column_profiles in as_dataframe() in scan_profile.py (around line 270), then look at the is_illegal and NotImplementedError skip checks in datascan.py. Run the reproducer with a Decimal-only or time-only polars frame and confirm the AssertionError. Done means either a clear error that names the skipped column types, or a summary that lists unsupported columns, with the mixed-type case also reporting them. The issue leaves the choice between those two open, so confirm which one to implement with the maintainers first.
索引モデルが issue の本文から書いたものです。
説明
Description
col_summary_tbl() raises an AssertionError with no message when none of the table's columns has a type it can profile, for example a table of only Decimal or Time columns, or a pandas object column holding booleans and None.
Minimal reproducible example
import datetime
import decimal
import pandas as pd
import polars as pl
import pointblank as pb
pb.col_summary_tbl(pl.DataFrame({"amount": [decimal.Decimal("1.50"), decimal.Decimal("2.25")]}))
File ".../pointblank/scan_profile.py", line 270, in as_dataframe
assert self.column_profiles
AssertionError
The same happens with:
pb.col_summary_tbl(pl.DataFrame({"t": [datetime.time(9, 0), datetime.time(10, 30)]}))
pb.col_summary_tbl(pd.DataFrame({"flag": [True, None, False]})) # object dtype
pb.col_summary_tbl(
pl.DataFrame({"amount": [decimal.Decimal("1.5")], "t": [datetime.time(9, 0)]})
)
Expected
Either an error that says no column could be summarized and which types were skipped, or a summary table that lists those columns as unsupported.
Actual
A bare AssertionError from _DataProfile.as_dataframe(). DataScan skips columns whose type _TypeMap cannot profile (datascan.py, the is_illegal / NotImplementedError checks), so when every column is skipped column_profiles is empty and the internal assertion fails.
When only some columns are unsupported the report renders, but those columns are left out with no note. For pl.DataFrame({"amount": [decimal.Decimal("1.50")], "n": [1]}), the summary shows only n. Fixing the error case the second way would cover this too.
Environment
- pointblank main (6412f6f8)
- Python 3.12.13, polars 2.0.0, pandas 2.3.3
- macOS (arm64)
- 主要言語
- Python
- スター
- 494
- フォーク
- 38
- 平均マージ
- 6時間 59分
- マージ済み PR(30日)
- 33
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
posit-dev/pointblank のほかの issue
-
Type: ★ Enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
posit-dev/pointblank#379 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
posit-dev/pointblank#395 ·
メンテナーはふだん 1 日以内に返信
-
Type: ★ Enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
posit-dev/pointblank#394 ·
メンテナーはふだん 1 日以内に返信
-
ibis.pyspark col_vals_in_set produces invalid SQL再び着手できるかも @rich-iannone が 298 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンDifficulty: [2] Intermediate Effort: [3] High Priority: [3] High Type: ☹︎ Bug
posit-dev/pointblank#335 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
YAML value column selector再び着手できるかも @rich-iannone が 317 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンDifficulty: [2] Intermediate Effort: [3] High Priority: [3] High Type: ☹︎ Bug
posit-dev/pointblank#333 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
posit-dev/pointblank の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PolicyEngine/policyengine-us#10262 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
kellyjonbrazil/jc#788 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
`/search.json` ignores the documented `editions.sort` parameter対応中かも @PranavD2905 が今日担当しました。 オープンAffects: Server Good First Issue Module: Solr Needs: Triage Theme: Public APIs Theme: Search
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
internetarchive/openlibrary#13989 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug P2: misleading query
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
jeffknupp/association#478 ·