如何将dataframe的一列从object转换为float

2024-09-25 02:38:47 发布

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

Hear是我的原始数据帧列类型:

#   Column                     Non-Null Count  Dtype 
---  ------                     --------------  ----- 
 0   NAME                       23605 non-null  object
 1   DEPARTMENT_NAME            23605 non-null  object
 2   TITLE                      23605 non-null  object
 3   REGULAR                    21939 non-null  object
 4   RETRO                      13643 non-null  object
 5   OTHER                      13351 non-null  object
 6   OVERTIME                   6826 non-null   object
 7   INJURED                    1312 non-null   object
 8   DETAIL                     2355 non-null   object
 9   QUINN/EDUCATION INCENTIVE  1351 non-null   object
 10  TOTAL EARNINGS             23605 non-null  object
 11  POSTAL                     23605 non-null  object

我想将其中一些转换为浮动类型,比如总收益,我尝试了:

df['TOTAL EARNINGS'] = df['TOTAL EARNINGS'].astype(int)

df['TOTAL EARNINGS'] = pd.to_numeric(df['TOTAL EARNINGS'])

但我得到了:

ValueError: setting an array element with a sequence.

TypeError: Invalid object type at position 0

我不知道为什么,还有其他的方法吗? 这是我的数据:https://data.boston.gov/dataset/418983dc-7cae-42bb-88e4-d56f5adcf869/resource/31358fd1-849a-48e0-8285-e813f6efbdf1/download/employeeearningscy18full.csv

以下是我的数据帧的一些图片: enter image description hereenter image description hereenter image description here


Tags: 数据nameimage类型df原始数据hereobject
1条回答
网友
1楼 · 发布于 2024-09-25 02:38:47

这是因为原始数据有两行完全是文本

首先执行下面的命令来清理这些行

df = df[df["TOTAL EARNINGS"]!="TOTAL EARNINGS"]

然后,更改数据类型

df['TOTAL EARNINGS'] = df['TOTAL EARNINGS'].astype(float)

此后,您可以根据需要检查数据类型

df.dtypes

相关问题 更多 >