使用Pandas在Python中将列转换为Int

2025年1月5日 | 阅读 7 分钟

引言

在本教程中,我们将学习如何在 Python 中使用 Pandas 将列转换为 Int。Python 是数据分析和数据操作方面最有用的语言之一,而且有充分的理由。凭借其简单的语法和库,Python 提供了强大的文档。Pandas 就是这样一个库,它包含了许多数据操作和分析工具。Pandas 允许我们以多种方式轻松管理和操作数据,使其成为数据分析师或研究人员工具集的重要组成部分。

作为数据分析师,我们经常会遇到以字符串形式存储的数据,即使它比字符串数据更有用。在本文的下一节中,我们将探讨在 Pandas 中将字符串数据转换为等效数据的方法,包括使用 astype() 和 to_numeric() 函数。我们还将讨论处理数据转换时需要牢记的一些最佳实践和注意事项。

如何在 Python 中使用 Pandas 将列转换为 Int?

有三种方法可以在 Python 中使用 Pandas 将列转换为 Int,如下所示:

  1. 使用 astype() 方法
  2. 使用 to_numeric() 方法
  3. 使用 apply() 方法

现在我们来学习这些方法,如下所示:

1. 使用 astype() 方法

使用 astype() 方法在 Python 中使用 Pandas 将列转换为 Int。此方法非常简单且易于在 Pandas 中将数据转换为整数数据。我们可以对所需的字段使用 astype() 函数,并指定所需的数据类型(在本例中为“int”)。要使用 astype() 函数进行数据转换,我们只需在 DataFrame 上调用此方法,然后指定要将列转换为的数据类型。

程序代码 1

在此,我们提供了使用 astype() 方法在 Python 中使用 Pandas 将列转换为 Int 的程序代码。在此示例中,以下代码使用 Pandas 库创建了一个名为“d”的 DataFrame,其中包含包含字符串值的“Col1”列。然后使用 astype() 方法将“Col1”值更改为整数。然后复制 DataFrame 并使用“dtype”属性显示“Col1”数据类型。代码如下:

输出

现在我们运行上面的代码并从中查找结果。结果如下:

   Col1
0    10
1    12
2    20
3    45
4    56
5    70

程序代码 2

在此,我们提供了另一个使用 astype() 方法在 Python 中使用 Pandas 将列转换为 Int 的程序代码。在这里,我们使用“dtypes”属性打印列上的数据,并使用“print()”函数打印 DataFrame,以查看“Age”列中进行的更改。代码如下:

输出

现在我们运行上面的代码并从中查找结果。结果如下:

Name      object
Age        int64
Gender    object
dtype: object
     Name  Age  Gender
0   Priya   22  Female
1    Mita   26  Female
2    Diya   20  Female
3   Rudra   30    Male
4  Badsha   29    Male

从上面的输出中,我们可以看到“Age”列已成功转换为由数据类型输出中的“int32”值表示的聚合数据。DataFrame 现在有三列:Name、Age 和 Gender。年龄列包含数字值,不包含字符串值。应注意的是,在使用 astype() 函数时,字符串值必须可转换为整数;否则,将发生 ValueError 错误。此外,如果行包含非数字字符或缺失值,此方法将无法按预期工作。

2. 使用 to_numeric() 方法

使用 to_numeric() 方法在 Python 中使用 Pandas 将列转换为 Int。此函数允许我们转换许多数据类型,包括字符串。它在处理不正确的转换方面提供了更大的灵活性,并提供了其他参数来调整转换过程。要使用 to_numeric() 函数,我们会在要更改的行上调用此函数,并指定要更改的数据类型。

程序代码 1

在此,我们提供了使用 to_numeric() 方法在 Python 中使用 Pandas 将列转换为 Int 的程序代码。在此示例中,以下代码使用 pandas 创建一个带有列(“Col1”)的 DataFrame。“to_numeric()”方法通过将字符串转换为整数来优化内存使用。通过用 NaN 替换来解决转换错误。键入创建的 DataFrame 并显示“Col1”的数据类型。代码如下:

输出

现在我们运行上面的代码并从中查找结果。结果如下:

   Col1
0    10
1    12
2    20
3    45
4    56
5    70

程序代码 2

在此,我们提供了另一个使用 to_numeric() 方法在 Python 中使用 Pandas 将列转换为 Int 的程序代码。在这里,我们使用“dtypes”属性打印列上的数据,并使用“print()”函数打印 DataFrame,以查看“Age”列中进行的更改。代码如下:

输出

现在我们运行上面的代码并从中查找结果。结果如下:

在上面的输出中,我们可以看到“Age”列已转换为 Int8 数据类型,它表示一个介于 -128 和 127 之间的有符号数。“Name”和“Gender”列保持为 object(字符串)数据类型。DataFrame 本身显示了更新的列年龄,其中字符串值已更改为其等效值。因此,我们已成功使用 to_numeric() 函数将 Pandas Dataframe 中的字符串转换为整数。

3. 使用 apply() 方法

使用 apply() 方法在 Python 中使用 Pandas 将列转换为 Int。要使用 apply() 方法,我们只需在要更改的行上调用此函数,并指定要更改的数据类型。

程序代码

在此,我们提供了使用 apply() 方法在 Python 中使用 Pandas 将列转换为 Int 的程序代码。在此示例中,以下代码创建了一个带有字符串“Col1”的 pandas DataFrame“d”。“apply()”方法与 lambda 函数一起使用,将“Col1”中的每个值转换为整数。将使用“dtype”属性打印 DataFrame 以显示“Col1”数据类型。代码如下:

输出

现在我们运行上面的代码并从中查找结果。结果如下:

   Col1
0    10
1    12
2    20
3    45
4    56
5    70

结论

在本教程中,我们将学习如何在 Python 中使用 Pandas 将列转换为 Int。astype() 函数、to_numeric() 函数和 apply() 方法是字符串转换为整数最流行的三种方法。当数组仅包含数字时,astype() 方法很有用;to_numeric() 在处理转换错误方面更有用。在此,我们还为 Python 中的每种方法提供了一些示例。