无法将对象转换为浮点型

时间:2018-10-02 16:48:06

标签: python pandas dataframe type-conversion data-cleaning

我需要将一个对象转换为浮点数,以便以后合并一些数字,但似乎无法做到这一点。我正在使用机器上的文件进行工作,但是如果有人要复制,则数据在Web上。

original csv

尝试从csv转换为

crime = pd.read_csv("C://college_data/nrippner-opportunity-project-use-case/Crime_2015.csv", dtype={'PropertyCrime':float})
print(crime.head())
crime.dtypes

似乎是“安全规则”的问题

我也尝试过

crime['PropertyCrime'] = crime.PropertyCrime.astype(float)

它只是说不能将对象转换为浮点数

有什么想法吗?

根据评论的要求:

crime = pd.read_csv("C://college_data/nrippner-opportunity-project-use-case/Crime_2015.csv")

print(crime.PropertyCrime.head())
crime.dtypes

enter image description here

对不起,对于从jupyter笔记本中发布屏幕截图以外的方法,我感到抱歉

1 个答案:

答案 0 :(得分:1)

import pandas as pd

df = pd.read_csv('https://query.data.world/s/xxxxxxxlink_codexxxxxxxx', thousands=',')

逗号正在杀死您。现在可以正确推断出浮动类型。

df.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 378 entries, 0 to 377
Data columns (total 12 columns):
MSA                  378 non-null object
ViolentCrime         377 non-null float64
Murder               378 non-null float64
Rape                 378 non-null float64
Robbery              378 non-null float64
AggravatedAssault    377 non-null float64
PropertyCrime        372 non-null float64
Burglary             374 non-null float64
Theft                375 non-null float64
MotorVehicleTheft    378 non-null float64
State                378 non-null object
City                 373 non-null object
dtypes: float64(9), object(3)

请记住在您接受的答案旁边打勾。