Python 的内置 round() 函数如何以及为何能够与 pandas 完美配合?

问题描述 投票:0回答:1

我很难理解 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
pandas rounding built-in
1个回答
0
投票

Pandas Series 对象实现

__round__
方法,该方法在 CPython 中首先被调用。

© www.soinside.com 2019 - 2024. All rights reserved.