簡體   English   中英

pandas astype(float) 返回為 int

[英]pandas astype(float) returning as int

我正在通過 DataQuest Data Analyst 路徑工作,並且正在使用筆記本電腦數據集。 我正在嘗試將列從字符串轉換為浮點數(該列包含以 GHz 為單位的 cpu 處理器速度)。

laptops["processor_speed_ghz"] = laptops["cpu"].str.split().str[-1]
laptops["processor_speed_ghz"] = laptops["processor_speed_ghz"].str.replace("GHz", "")
laptops["processor_speed_ghz"] = laptops["processor_speed_ghz"].astype(float)
print(laptops["processor_speed_ghz"].value_counts())

轉換工作完美,除了當我檢查新列時,它說類型是int64而不是float64 不知道我做錯了什么。

這是預期的,因為 function Series.value_counts 的Series.value_counts返回計數。 因此,獲取索引由浮點數填充的系列,系列的值是整數。

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM