es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo convertir una subclase de pandas dataframe en un objeto dataframe?

¿Puedo preguntar, estoy usando el código privado de alguien y tienen esto:

class DNATable():
    '''
    Una subclase de un Pandas DataFrame, diseñada para facilitar la amalgamación de datos.
    '''

Y el resultado es esto:

print(test)
<dnatable.dnatable.dnatable object="" at="" 0x7f7162e87fd0="">

He intentado muchas formas de convertir esto en un dataframe, o simplemente hacer algo con él, p. ej.

print(type(pd.DataFrame(test)))

Devuelve:

ValueError: ¡Constructor de DataFrame no llamado correctamente!

También intenté devolver test.keys() para entender si podía convertir la subclase en un diccionario, np.load(test) para ver si podía devolver matrices y str(test) para verlo como una cadena, todos los cuales devuelven errores similares a los anteriores diciendo básicamente que no es ese tipo de dato.

¿Alguien sabe cómo tomar un objeto que es una subclase de un dataframe de Pandas y tratarlo simplemente como un dataframe? (por ejemplo, algo como df = pd.DataFrame(test)). ¿O es específico del código de esta persona?</dnatable.dnatable.dnatable>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que la clase DNATable es una subclase de un DataFrame de Pandas, lo que significa que hereda sus propiedades y métodos de la clase DataFrame, pero también puede tener sus propios atributos y métodos únicos. Es posible que el objeto DNATable tenga algunos métodos o atributos que un objeto DataFrame regular no tenga, lo que podría ser la razón por la que una conversión directa a DataFrame no está funcionando.

    Sin conocer el código específico y la estructura de la clase DNATable, es difícil decir exactamente cómo tratarlo como un DataFrame. Sin embargo, una posible solución podría ser acceder al objeto DataFrame de Pandas subyacente dentro del objeto DNATable usando el atributo “.data”. Por ejemplo, podrías intentar:

    df = test.data
    

    Esto debería devolver el objeto DataFrame subyacente, que luego se puede usar como un DataFrame regular. Nuevamente, esto dependerá de la implementación de la clase DNATable, por lo que es posible que no funcione en todos los casos.

    Alternativamente, podrías intentar contactar al propietario del código y pedir orientación sobre cómo usar correctamente el objeto DNATable. Es posible que tengan instrucciones o métodos específicos para trabajar con él que no sean inmediatamente evidentes.

Comments are closed.