2 votes

Rendu des dataframes Pandas sous forme de tableau dans Jupyter

Si j'ai un pandas.DataFrame df , en se contentant de faire

df

dans une cellule vide d'un carnet Jupyter le rendra joliment sous forme de tableau.

Si une classe entoure un dataframe, comment puis-je rendre le dataframe sous-jacent de la même manière ?

class Wrapper:
  def __init__(self, df):
    self._df = df

  def __repr__(self):
    ## to_html does not work
    return self._df.to_html()

Cela donne l'idée, mais to_html ne semble pas pouvoir faire l'affaire. Que puis-je faire ?

1voto

tomp Points 464

Si je comprends bien la question, vous cherchez à imprimer le fichier df en tant que tableau lors de l'appel d'un objet wrapper ? Si c'est le cas, vous pouvez alors envelopper l'objet _repr_html_ méthode.

class Wrapper:
    def __init__(self, df):
        self._df = df

    def _repr_html_(self):
        return self._df._repr_html_()

Ou alternativement :

class Wrapper:
    def __init__(self, df):
        self._df = df

    self.repr_html = self._df._repr_html_

Après avoir créé votre objet avec :

mytable = Wrapper(df)

Vous pouvez afficher df dans votre carnet sous forme de tableau en appelant mytable

mytable # displays the df

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X