[protocol] Clarify the exact meaning of the buffer's dtype (Dtype tuple in get_buffers())
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginnen Sie damit, den im Issue zitierten Wortlaut des Protokolls zu lesen, und vergleichen Sie ihn mit tests/test_column_object.py, insbesondere mit test_dtype und test_get_buffers in dataframe-interchange-tests. Klären Sie, ob der dem Buffer zugeordnete dtype mit Column.dtype übereinstimmen sollte oder abweichen darf, und aktualisieren Sie anschließend die Spezifikation und die entsprechenden Testerwartungen, sobald die Bedeutung geklärt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
If my assumption is incorrect
Just as a sanity check I checked and pandas/vaex/cuDF/modin all return the type described in
Column.dtypefor theget_buffers()values. A. TODO I realize fordataframe-interchange-testsis generalisetest_dtypeand use it intest_get_buffers.
Note that this is actually not correct, depending on how you interpret it. Yes, the buffers' dtype returns a similar type of DType tuple, but it should not necessarily return the same dtype tuple as its Column.dtype does, as the buffer can have a different dtype than the column.
It seems that we all interpreted this wrongly and all implementations got this wrong (or the text about "the data buffer's associated dtype" is wrong), see https://github.com/apache/arrow/issues/37598, https://github.com/pandas-dev/pandas/issues/54781, https://github.com/pola-rs/polars/pull/10787 (and the same for StaticFrame mentioned above, from a quick look).
Originally posted by @jorisvandenbossche in https://github.com/data-apis/dataframe-api/issues/87#issuecomment-1744791104
- Vorherrschende Sprache
- Python
- Sterne
- 106
- Forks
- 22
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus data-apis/dataframe-api
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
data-apis/dataframe-api#363 · 1 Kommentar · 8 Reaktionen ·
-
API design
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
data-apis/dataframe-api#356 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
data-apis/dataframe-api#355 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
data-apis/dataframe-api#352 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
data-apis/dataframe-api#351 ·
Alle Issues in data-apis/dataframe-api
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
aws-samples/sample-per-model-bedrock#782 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Google text documents are base64-encoded twiceEvtl. vergeben @feiiiiii5 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
coveragepy/coveragepy#2364 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100