将pandas系列类型从object转换为float64

2024-04-29 14:52:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自数据帧(energy["Energy Supply"])的列(类型为Series),如下所示:

Country
China                 127191
United States          90838
Japan                  18984
United Kingdom          7920
Russian Federation     30709
Canada                 10431
Germany                13261
India                  33195
France                 10597
South Korea            11007
Italy                   6530
Spain                   4923
Iran                     NaN
Australia               5386
Brazil                 12149
Name: Energy Supply, dtype: object

目前它的类型是object。在

来自的NaN值是从以下代码转换而来的:

^{pr2}$

注释行的工作方式类似。在

我不明白为什么这个系列现在是object类型。在

我检查了每个数值,它们都是float类型。在

我希望整个系列都是float或{}类型。在

我试着把整个序列重新转换成数字,方法是:

energy["Energy Supply"] = pd.to_numeric(energy["Energy Supply"], errors='coerce')

但在那之后,这个系列被改成:

Country
China                     NaN
United States             NaN
Japan                     NaN
United Kingdom            NaN
Russian Federation    30709.0
Canada                10431.0
Germany               13261.0
India                 33195.0
France                    NaN
South Korea               NaN
Italy                     NaN
Spain                     NaN
Iran                      NaN
Australia                 NaN
Brazil                12149.0
Name: Energy Supply, dtype: float64

我想知道为什么值12719190838被转换成NaN,而{},10431仍然是数字?在


Tags: 类型objectnancountryunitedkingdomenergystates