Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/pandas/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 了解Jupyter笔记本电脑的pd.DataFrame\uuuu repr\uuuuuu\uuuu行为 激励范例_Pandas_Dataframe_Oop_Jupyter Lab_Repr - Fatal编程技术网

Pandas 了解Jupyter笔记本电脑的pd.DataFrame\uuuu repr\uuuuuu\uuuu行为 激励范例

Pandas 了解Jupyter笔记本电脑的pd.DataFrame\uuuu repr\uuuuuu\uuuu行为 激励范例,pandas,dataframe,oop,jupyter-lab,repr,Pandas,Dataframe,Oop,Jupyter Lab,Repr,最近,我发现自己在尝试我的OOP,对于我当前的应用程序,假设我制作了一个Simulator()类 class Simulator: def __init__(self): self.result_df = pd.DataFrame(data=None, columns=['trial', 'score']) def run(self): trial, score = 1, 2 # do something... self.res

最近,我发现自己在尝试我的OOP,对于我当前的应用程序,假设我制作了一个
Simulator()

class Simulator:
    def __init__(self):
        self.result_df = pd.DataFrame(data=None, columns=['trial', 'score'])

    def run(self):
        trial, score =  1, 2 # do something...
        self.result_df = self.result_df.append({'trial': trial, 'score': score}, ignore_index=True)
现在,我想做的是能够编写一些辅助代码,利用我喜欢的笔记本电脑的
display()
功能

def __repr__(self):
    display('Top 5 scores')
    display(self.result_df.sort_values('score', ascending=False).head(5))
这样我就可以像

sim = Simulator()
[sim.run() for _ in range(100)]
sim
并获得“前5名分数”的打印输出以及格式良好的表格,其中包含前5名分数

但是,上面的代码不够用,因为我遇到了一个错误,它读取
TypeError:\uuuu repr\uuu。返回了非字符串(type NoneType)
。因此,在我弄清楚如何正确定义这个
\uu repr\uu()
之前,我的两个解决方法是

  • 返回一个空字符串,但是数据帧相对于[29]执行编号的位置告诉我,我实际上没有镜像标准数据帧功能
  • 返回
    str(self.result\u df)
    ,但现在我只关注文本表示,而不是花哨的裤子渲染
  • 我的实际要求 如果我坚持我的“返回空字符串”解决方案,那就不是世界末日。然而,
    pandas
    codebase确实比我所研究过的任何东西都要复杂。我从一开始就把自己搞糊涂了,觉得有必要在这里问一下,是否有人能帮我弄清楚如何:

  • 了解Jupyter/pandas如何协同工作,在笔记本中打印出漂亮的数据帧
  • 如何重写我的
    \uuu repr\uuuu()
    ,使其工作相同