ValueError:无法将字符串转换为浮点数:'[-0.8783137 0.05478287 -0.08827557 0.69203985 0.06209986]'

问题描述 投票:0回答:1

我试图让这个字符串'[-0.8783137 0.05478287 -0.08827557 0.69203985 0.06209986]'浮动,但它给我一个错误。实际上,在我的dataframe中,这一列是object类型,每行有768个值,我想把这些嵌入值设为float类型。

我已经尝试将这些代码转换为浮点数但无法解决。它给出了这个错误。

df['encoded_values']=df['encoded_values'].astype(float)
df['encoded_values'] = df['encoded_values'].str.replace(',', '').astype(float)
df['encoded_values'] = pd.to_numeric(df['encoded_values'], downcast='float')
pandas dataframe floating-point series valueerror
1个回答
0
投票

您拥有的是浮点数组的字符串表示形式。您可以使用

json.loads
after 用逗号替换空格后将其转换为浮点数列表:

import json

df['encoded_values'] = df['encoded_values'].apply(lambda x:json.loads(x.replace(' ', ',')))
© www.soinside.com 2019 - 2024. All rights reserved.