从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'
我该如何解决?
答案 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