更改pandas数据帧的列类型 - 查找阻止转换的违规行

时间:2014-06-03 14:23:02

标签: python pandas

我的PANDAS数据包含作为对象读取的列。我想把它们变成花车。在下面链接的帖子(1)之后,我尝试了:

pdos[cols] = pdos[cols].astype(float)

但是PANDAS给了我一个错误,说一个对象不能重命名为float。

  

ValueError:float()的文字无效:17_d

但是当我在我的数据集中搜索17_d时,它告诉我它不存在。

>>> '17_d' in pdos
 False

我可以查看原始数据,看看python之外发生了什么,但是如果我要认真对待python,我应该知道如何处理这类问题。为什么这个搜索不起作用?如何在PANDAS中搜索字符串中的对象?有什么建议吗?

Pandas: change data type of columns

1 个答案:

答案 0 :(得分:1)

当然可以,因为你只看列列表!

'17_d' in pdos

检查'17_d'是否在pdos.columns

所以你要做的是pdos[cols] == '17_d',它会给你一个真值表。如果你想找到它是哪一行,你可以(pdos[cols] == '17_d').any(1)