更改 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
结论
如果您在遵循本教程时遇到任何困难,请在评论部分中提及它们。