在下文DataFrame
中,值(1,531.20,...)以格式导入object
。
我尝试将它们转换为类型float
,应用方法.astype(float)
。
# Create DF from dict of lists/ndarrays
df = pd.DataFrame({'MSCI' : ['1,448.94', '1,480.57', '1,495.18', '1,531.20', '1,532.28'],
'Date' : ['2012-07-09','2012-07-10', '2012-07-11', '2012-07-12', '2012-07-13']})
df.set_index("Date", inplace = True)
df["MSCI"] = df.MSCI.astype(float)
df.info()
它返回给我错误:
ValueError:无法将字符串转换为浮点数:'1,448.94'
我将不胜感激提出纠正此错误的建议-
另一方面,我能否以某种方式将这些数字转换为导入时的格式float
?
在我使用的导入pd.read_csv
中。
问题是您拥有的值不是
float
,如果您仔细观察它们有“两个逗号”,1,448.94
。如果我们假设逗号真的是千位分隔符,我们可以取所有值,删除逗号并将它们转换为
float
,所以现在你有了一个包含所有
dataframe
浮点类型值的列表。我希望我对您有所帮助,您告诉我们的任何事情!