如果我有pandas.DataFrame
df
,只需执行
df
在一个空的Jupyter笔记本单元格中,它会很好地呈现为一个表格。
让一个类环绕数据帧,如何以相同的方式呈现底层数据帧?
class Wrapper:
def __init__(self, df):
self._df = df
def __repr__(self):
## to_html does not work
return self._df.to_html()
这给出了这个想法,但to_html
似乎无法做到这一点。我该怎么办?
答案 0 :(得分:1)
如果我正确理解了这个问题,那么当调用包装器对象时,您希望将df
打印为表格?如果是这种情况,那么您可以包装数据框的_repr_html_
方法。
class Wrapper:
def __init__(self, df):
self._df = df
def _repr_html_(self):
return self._df._repr_html_()
或者:
class Wrapper:
def __init__(self, df):
self._df = df
self.repr_html = self._df._repr_html_
使用以下方法创建对象后
mytable = Wrapper(df)
您可以通过调用df
mytable
显示为一个表格
mytable # displays the df