Python – 在Pandas DataFrame中仅将单个列的数据类型进行转换
要仅转换单个列,请使用astype()方法。让我们首先创建一个具有2列的DataFrame,其中一个是“float64”类型,另一个是“int64”类型−
dataFrame = pd.DataFrame(
{
"Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
检查类型−
dataFrame.dtypes
假设我们需要仅将单个列“Units”从int64转换为int32。为此,请使用astype()−
dataFrame.astype({'Units': 'int32'}).dtypes
更多Pandas文章,请阅读:Pandas教程
例子
以下是代码−
import pandas as pd
# 创建DataFrame
dataFrame = pd.DataFrame(
{
"Reg_Price": [7000.5057, 1500, 5000, 8000, 9000.75768, 6000],
"Units": [90, 120, 100, 150, 200, 130]
}
)
print"DataFrame ...\n",dataFrame
print"\nDataFrame 类型 ...\n",dataFrame.dtypes
print"\n仅将单个列转换为int32..."
print"\n更新的DataFrame 类型 ...\n",dataFrame.astype({'Units': 'int32'}).dtypes
输出
这将产生以下输出−
DataFrame ...
Reg_Price Units
0 7000.50570 90
1 1500.00000 120
2 5000.00000 100
3 8000.00000 150
4 9000.75768 200
5 6000.00000 130
DataFrame 类型 ...
Reg_Price float64
Units int64
dtype: object
仅将单个列转换为int32...
更新的DataFrame 类型 ...
Reg_Price float64
Units int32
dtype: object