Skip to main content
 首页 » 编程设计

python之int() 与 .astype ('int' ) Python

2025年05月04日21飞鱼

我不确定何时使用 int() 以及何时使用 .astype('int')。谁能解释一下?

是否只是 int() 用于单个值而 .astype('int') 用于向量?我来自 R 背景,所以我习惯使用 as.integer

请您参考如下方法:

.astype() 是 numpy.ndarray 中的一个方法,以及 Pandas Series类,因此可用于转换 DataFrame 中的向量、矩阵和列。但是,int() 是一个纯 Python 函数,只能应用于标量值。

例如,您可以执行 int(3.14),但不能执行 (2.7).astype('int'),因为 Python 原生类型不没有任何这样的方法。但是,numpy.array([1.1, 2.2, 3.3]).astype('int') 是有效的。

(严格来说,也可以在自己的类中定义一个 __int__() 方法,这将允许将 int() 应用于非原生类型. 感谢@juanpa.arrivillaga 指出这一点。)