2017-06-05 76 views
0

我的问题类似于this之一。如何将整个数据帧的值转换为浮点数在熊猫中

我想将数据帧中的所有值转换为浮点类型。但需要更多的是忽略这些转换不能发生的行。

例如,给定一个字符串'0.9',它将被成功转换为float,但像'why'这样的字符串将会通过一个错误。我想删除数据框中所有会出现在错误情况下的行。

+0

为什么那个链接的问题不是你想的是什么?它已经有了'errors ='ignore''这个应该可以做你想要的东西的答案 – EdChum

+0

我用它但是不工作。当我对DF colum:'sum(list(df [col]))'这样做时,它会抛出一个错误 - 'TypeError:不支持的操作数类型为+:'int'和'str' – user3667569

+0

请发布原始数据,重现您的df的代码,您尝试转换,期望的输出和任何错误,因为您的问题缺乏细节,因为您正在询问有关转换,但随后对您期望的结果发表评论 – EdChum

回答

0

试试这个:

df = df.apply(pd.to_numeric, errors='coerce') 

docs

errors : {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’

If ‘raise’, then invalid parsing will raise an exception

If ‘coerce’, then invalid parsing will be set as NaN

If ‘ignore’, then invalid parsing will return the input

+0

请问您能解释一下错误= '胁迫'的意思是?谢谢! – user3667569

+0

不工作,它有同样的问题。当我这样做到一个DF柱:'sum(list(df [col]))'时,它会抛出一个错误 - 'TypeError:不支持的操作数类型为+:'int'和'str' – user3667569

+0

@ user3667569,请改用熊猫方法:'df [col] .sum()' – MaxU