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

Tests fail with pandas 3

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
pandas, python
Área
data

Línea de trabajo

Comienza con partd/numpy.py, donde serialize_dtype genera el error StringDtype, y con partd/tests/test_pandas.py, especialmente test_PandasColumns y test_column_selection. Reproduce los fallos con pandas 3 y, después, verifica que esas pruebas y la suite existente pasen sin el AttributeError indicado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

When preparing Fedora for upgrading to pandas3 the following tests fail when building against the new version. Would it be possible to port to support the new version.

=================================== FAILURES ===================================
______________________________ test_PandasColumns ______________________________

    def test_PandasColumns():
        with PandasColumns() as p:
            assert os.path.exists(p.partd.partd.path)
    
>           p.append({'x': df1, 'y': df2})

partd/tests/test_pandas.py:32: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../BUILDROOT/usr/lib/python3.14/site-packages/partd/pandas.py:56: in append
    self.partd.append(arrays, **kwargs)
../BUILDROOT/usr/lib/python3.14/site-packages/partd/numpy.py:55: in append
    self.partd.iset(suffix(k, '.dtype'), serialize_dtype(v.dtype))
                                         ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dt = <StringDtype(storage='python', na_value=nan)>

    def serialize_dtype(dt):
        """ Serialize dtype to bytes
    
        >>> serialize_dtype(np.dtype('i4'))
        b'<i4'
        >>> serialize_dtype(np.dtype('M8[us]'))
        b'<M8[us]'
        """
>       return dt.str.encode()
               ^^^^^^
E       AttributeError: 'StringDtype' object has no attribute 'str'

../BUILDROOT/usr/lib/python3.14/site-packages/partd/numpy.py:25: AttributeError
____________________________ test_column_selection _____________________________

    def test_column_selection():
        with PandasColumns('foo') as p:
>           p.append({'x': df1, 'y': df2})

partd/tests/test_pandas.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../BUILDROOT/usr/lib/python3.14/site-packages/partd/pandas.py:56: in append
    self.partd.append(arrays, **kwargs)
../BUILDROOT/usr/lib/python3.14/site-packages/partd/numpy.py:55: in append
    self.partd.iset(suffix(k, '.dtype'), serialize_dtype(v.dtype))
                                         ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

dt = <StringDtype(storage='python', na_value=nan)>

    def serialize_dtype(dt):
        """ Serialize dtype to bytes
    
        >>> serialize_dtype(np.dtype('i4'))
        b'<i4'
        >>> serialize_dtype(np.dtype('M8[us]'))
        b'<M8[us]'
        """
>       return dt.str.encode()
               ^^^^^^
E       AttributeError: 'StringDtype' object has no attribute 'str'

../BUILDROOT/usr/lib/python3.14/site-packages/partd/numpy.py:25: AttributeError
=========================== short test summary info ============================
FAILED partd/tests/test_pandas.py::test_PandasColumns - AttributeError: 'Stri...
FAILED partd/tests/test_pandas.py::test_column_selection - AttributeError: 'S...
=================== 2 failed, 53 passed, 1 skipped in 1.16s ====================
Lenguaje dominante
Python
Estrellas
107
Forks
33
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 dask/partd

Todos los issues de dask/partd

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.