ValueError:无法将字符串转换为float:'4,6'

时间:2018-07-23 13:23:16

标签: python pandas

从csv阅读时,我有ValueError: could not convert string to float。从我读取文件开始,然后给列命名并删除NaN。

from pandas import read_csv
df = read_csv("propositio/data.csv", header=None, 
    sep=';', decimal=',')
cols = ['col1', 'col2', 'col3', 'col4']
df.columns = cols
df.dropna(inplace=True)

这是一个错误。我想将non-null object转换为浮点数:

df = df.astype(float)
  

ValueError:无法将字符串转换为float:'4,6'

我该如何解决?

1 个答案:

答案 0 :(得分:1)

使用str.replace将逗号替换为点

例如:

import pandas as pd

df = pd.DataFrame({"A": ['4,6', "5.6", '6,6']})
df = df["A"].str.replace(',', ".").astype(float)
print(df)

输出:

0    4.6
1    5.6
2    6.6
Name: A, dtype: float64