我很难理解 Python 内置“round”函数的以下行为:
Round 不适用于列表:
round([1.345, 2.718], 2) # Raises TypeError
Round 不适用于 numpy 数组:
import numpy as np
round(np.array([1.345, 2.718]), 2) # Raises TypeError
但是,您可以在 pandas 中顺利使用“round”,如下所示。
这是由于 pandas 的“礼貌”造成的某种超载或特殊处理吗?
import pandas as pd
round(pd.Series([1.345, 2.718]), 2) # Works just fine
__round__
方法,该方法在 CPython 中首先被调用。