Pandas错误TypeError:数据类型不明白

时间:2016-06-28 10:27:26

标签: python pandas

我一直在尝试使用布尔索引代码切片pandas数据帧,如:

subset[subset.bl.str.contains("Stoke City")]

bl属于对象类型。

然而,当我运行它时,我有一个错误:

  

TypeError:数据类型不理解

我该如何修复它?

更新:

我尝试使用:

subset[subset.bl.astype(str).str.contains("Stoke City")]

但那又回来了:

  

UnicodeEncodeError:'ascii'编解码器无法对位置37中的字符u'\ xa3'进行编码:序数不在范围内(128)

然后我尝试解决这个问题:

subset.bl = subset.bl.str.encode("utf-8")

那很有效,但我又回复了同样的错误:

  

'数据类型不明白错误'

当我再次尝试时:

subset[subset.bl.astype(str).str.contains("Stoke City")]

1 个答案:

答案 0 :(得分:1)

您可以尝试按astype转换为str,因为object可以是string的其他内容:

subset[subset.bl.astype(str).str.contains("Stoke City")]

您可以通过以下方式检查type的第一个值:

type(subset.ix[0, 'bl'])

编辑:

您可以尝试:

subset[subset.bl.str.encode("utf-8").str.contains("Stoke City")]

或者:

subset['bl'] = subset.bl.str.encode("utf-8")
subset[subset.bl.str.contains("Stoke City")]