如何将对象传递给float .... ValueError:无法将字符串转换为float:''

时间:2019-06-25 20:12:43

标签: python pandas dataframe multiple-columns

我需要有关此代码的帮助。我试图使用此代码将数据框的列对象更改为浮点型,它显示... ValueError:无法将字符串转换为浮点型:'2685,040344'。这是df1 ['Puissance']的第一个值。我还有其他列作为对象,程序显示了相同的问题。

然后我要创建一个新的列调用

df1['Torque']=float(df1['Puissance']) // float(df1['Vitesse'])

但是仍然显示问题。我无法将对象更改为浮动。

这是pd.read_csv的问题吗?

如何解决该问题?

我已经尝试过#df1 ['Puissance'] = pd.to_numeric(df1 ['Puissance'],errors ='ignore',downcast ='float')并显示相同的问题。

import pandas as pd
import numpy as np

df1=pd.read_csv("C:\\Users\\FGFGJ\\Documents\\Écorçage 2018\\Volet_1\\past5\\2A_.txt", sep='\t')

df1['Puissance']=df1.Puissance.astype(float, errors='raise')

#df1.dtypes

1 个答案:

答案 0 :(得分:0)

使用pandas.read_csv时,您有几种选择。在您的情况下,最简单的方法可能是传递decimal=","作为参数。这样,熊猫就会将您的Puissance栏识别为数字。

编辑

有关可能的参数的更多信息,请参见here。如果需要将多列转换为不同的dtype,则可以使用dtype={<column>: <dtype>}