在Pandas Dataframe中为一个或多个列更改数据类型
在本教程中,我们将学习将一个或多个列的数据类型转换为另一种数据类型。我们将使用方法 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
结论
如果在跟随本教程时遇到任何困难,请在评论部分提到它们。