Python 返回为int的astype(float)

Python 返回为int的astype(float),python,pandas,data-cleaning,Python,Pandas,Data Cleaning,我正在通过DataQuest数据分析师路径进行工作,我在使用笔记本电脑数据集。我正在尝试将一列从字符串转换为浮点(该列包含cpu处理器的速度,单位为GHz) 笔记本电脑[“处理器速度”\u ghz]=笔记本电脑[“cpu”].str.split().str[-1] 笔记本电脑[“处理器速度\u ghz”]=笔记本电脑[“处理器速度\u ghz”]。str.replace(“ghz”,“”) 笔记本电脑[“处理器速度\u ghz”]=笔记本电脑[“处理器速度\u ghz”]。aType(浮点) 打

我正在通过DataQuest数据分析师路径进行工作,我在使用笔记本电脑数据集。我正在尝试将一列从字符串转换为浮点(该列包含cpu处理器的速度,单位为GHz)

笔记本电脑[“处理器速度”\u ghz]=笔记本电脑[“cpu”].str.split().str[-1]
笔记本电脑[“处理器速度\u ghz”]=笔记本电脑[“处理器速度\u ghz”]。str.replace(“ghz”,“”)
笔记本电脑[“处理器速度\u ghz”]=笔记本电脑[“处理器速度\u ghz”]。aType(浮点)
打印(笔记本电脑[“处理器速度\u ghz”]。值\u计数()

转换工作得很好,只是当我检查新列时,它说类型是
int64
,而不是
float64
。不确定我做错了什么。

这是意料之中的,因为函数的输出返回计数数。所以,得到索引由浮点数填充的序列,序列的值是整数

laptops = pd.DataFrame({"processor_speed_ghz":[2.0,3.0, 2.0, 5.0, 3.0, 3.0]})
print (laptops)
   processor_speed_ghz
0                  2.0
1                  3.0
2                  2.0
3                  5.0
4                  3.0
5                  3.0

print(laptops["processor_speed_ghz"].value_counts())
3.0    3
2.0    2
5.0    1
Name: processor_speed_ghz, dtype: int64

print(laptops["processor_speed_ghz"].value_counts().index)
Float64Index([3.0, 2.0, 5.0], dtype='float64')