Python 为什么在pandas数据框中更改“\uuuu repr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?

Python 为什么在pandas数据框中更改“\uuuu repr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?,python,repr,Python,Repr,纯粹的教学,不试图改变任何东西。我们有 class A: def __init__(self): pass def __repr__(self): return "abc" a = A() a > abc 及 但是下面的内容没有任何作用 pd.DataFrame.__repr__ = lambda x: "hi" df = pd.DataFrame({'a': [1,2], 'b': [3

纯粹的教学,不试图改变任何东西。我们有

class A:
    def __init__(self):
        pass
    
    def __repr__(self):
        return "abc"

a = A()
a
> abc

但是下面的内容没有任何作用

pd.DataFrame.__repr__ = lambda x: "hi"
df = pd.DataFrame({'a': [1,2], 'b': [3,4]})
df
>   a   b
0   1   3
1   2   4

编辑:这在Python REPL中起作用,上面的内容在Jupyter笔记本中进行了测试。下一个问题是为什么它在Jupyter中不起作用,但这是另一个问题。

看看重写字符串是否会得到想要的结果:

class A:
    def __init__(self):
        pass
    
    def __repr__(self):
        return "abc"

    def __str__(self):
        return "abc"

如果这两种方法都不起作用,那么您就不会修改您认为是的类。

查看重写字符串是否会得到您想要的结果:

class A:
    def __init__(self):
        pass
    
    def __repr__(self):
        return "abc"

    def __str__(self):
        return "abc"

如果这两个都不起作用,那么您就没有修改您认为是的类。

无法复制。我从数据帧中获得
hi
。Python 3.8.5,1.0版。5@khelwood使用旧版本(0.24.2)复制。如果覆盖
\uuuu str\uuuuu
@extremeaxe5升级熊猫或覆盖
\uuuuuu str\uuuuu
而不是
\uuuu repr\uuuuu
呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜。在python REPL中,
\uuu repr\uu
起作用。无法复制。我从数据帧中获得
hi
。Python 3.8.5,1.0版。5@khelwood使用旧版本(0.24.2)复制。如果覆盖
\uuuu str\uuuuu
@extremeaxe5升级熊猫或覆盖
\uuuuuu str\uuuuu
而不是
\uuuu repr\uuuuu
呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜。在python REPL中,
\uuu repr\uu
起作用。