更改 Pandas Dataframe 中一个或多个列的数据类型

pythonserver side programmingprogrammingpandas

在本教程中,我们将学习将一个或多个列的数据类型转换为另一种数据类型。我们将使用方法 DataFrame.astype()

我们必须传递来自 Python、Pandas 或 Numpy 的任何数据类型来更改列元素的数据类型。我们还可以提供选定列的字典来更改特定列元素的数据类型。让我们看看带有代码的示例。

示例

# 导入 pandas 库
import pandas as pd
# 创建 DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# 我们将所有列的数据类型更改为 str
data_frame = data_frame.astype(str)
# 使用 data_frame.dtypes 方法检查数据类型
print(data_frame.dtypes)

输出

所有列数据类型改为 str 对象。运行上面的程序,会得到以下结果。

No     object
Name   object
Age    object
dtype: object

现在,让我们尝试将 Age 列的数据类型从 int 更改为 str。我们必须创建一个指定列名和所需数据类型的字典。

示例

# 导入 pandas 库
import pandas as pd
# 创建 DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Tutorialspoint', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# 创建一个带有列名和数据类型的字典
data_types_dict = {'Age': str}
# 我们将通过将字典提供给 astype 方法将 Age 列的数据类型更改为 str
data_frame = data_frame.astype(data_types_dict)
# 使用 data_frame.dtypes 方法检查数据类型
print(data_frame.dtypes)

输出

如果您看到输出,则只有 Age 列数据类型从 int 更改为 str。请参阅下面的结果。

No      int64
Name   object
Age    object
dtype: object

结论

如果您在遵循本教程时遇到任何困难,请在评论部分中提及它们。


相关文章