Tracking issue: dataframe protocol implementation
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
Línea de trabajo
Comienza leyendo el trabajo sobre el protocolo en gh-38 y las discusiones enlazadas de las issues 39 y 42, la discusión del PR 38 y las referencias a las reuniones. Este issue de seguimiento solo estará completo cuando se hayan resuelto las preguntas restantes sobre categorical-dtype y buffer-ownership, y las reglas de ownership estén claramente documentadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The bulk of the dataframe interchange protocol was done in gh-38. There were still a number of TODOs however, and more will likely pop up once we have multiple implementations so we can actually turn one type of dataframe into another type. This is the tracking issue for those TODOs and issues:
- Categorical dtypes: we should allow having
nullas a category; it should not have a specified meaning, it's just another category that should (e.g.) roundtrip correctly. See conversation in 8 Apr meeting. - Categorical dtypes: should they be a dtype in themselves, or should they be a part of the dtype tuple? Currently dtype is
(kind, bitwidth, format_str, endianness), with categorical being a value of thekindenum. Is making a 5th element in the dtype, with that element being another dtype 4-tuple, thereby allowing for nesting, sensible? - Add a
metadataattribute that can be used to store library-specific things. For example, Vaex should be able to store expressions for its virtual columns there. See PR gh-43 - Add a flag to throw an exception if the export cannot be zero-copy. (e.g. for pandas, possible due to block manager where rows are contiguous and columns are not - add a test for that). See PR gh-44
- Add a string dtype, with variable-length strings implemented with the same scheme as Arrow uses (an
offsetsand adatabuffer, see https://github.com/data-apis/dataframe-api/pull/38#discussion_r609818874). _See PR gh-45 - Signature of the
from_dataframeprotocol? See https://github.com/data-apis/dataframe-api/issues/42 and meeting of 20 May. - What can be reused between implementations in different libraries, and can/should we have a reference implementation? --> question needs answering somewhere.
- What is the ownership for buffers, who owns the memory? This should be clearly spelled out in the docs. An
ownerattribute is perhaps needed. See meeting minutes 4 March, https://github.com/data-apis/dataframe-api/issues/39, and comments on this PR.
- Lenguaje dominante
- Python
- Estrellas
- 106
- Forks
- 22
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de data-apis/dataframe-api
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
data-apis/dataframe-api#363 · 1 comentario · 8 reacciones ·
-
Row ordering design choiceAbiertoAPI design
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
data-apis/dataframe-api#356 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
data-apis/dataframe-api#355 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
data-apis/dataframe-api#352 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
data-apis/dataframe-api#351 ·
Todos los issues de data-apis/dataframe-api
Issues similares
-
pydanty:is-working
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pydantic/pydantic-ai#8843 ·
Los mantenedores suelen responder en 1 día
-
breaking change enhancement server
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
sktime/sktime#11310 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día