Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Tracking issue: dataframe protocol implementation

Abierto
#46 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Área
api, data

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

interchange-protocol

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 null as 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 the kind enum. Is making a 5th element in the dtype, with that element being another dtype 4-tuple, thereby allowing for nesting, sensible?
  • Add a metadata attribute 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 offsets and a data buffer, see https://github.com/data-apis/dataframe-api/pull/38#discussion_r609818874). _See PR gh-45
  • Signature of the from_dataframe protocol? 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 owner attribute 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de data-apis/dataframe-api

Todos los issues de data-apis/dataframe-api

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.