首页 > 解决方案 > int() 与 .astype('int') Python

问题描述

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

它仅int()用于单个值并.astype('int')用于向量吗?我来自 R 背景,所以我习惯使用as.integer

标签: python

解决方案


.astype()是 中的方法numpy.ndarray,也是 PandasSeries类,因此可用于转换 中的向量、矩阵和列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 指出这一点。)


推荐阅读