先说结论
pandas内空值nan的类型是float,apply因为类型出bug大概率就是有脏数据或者空值没处理好!!!
Background
我在做的一个影片数据的分析,genre
列是一组以list为元素,list里的内容是该影片的电影题材标签。
我准备apply一下拿到column里每个列表的题材类型,但是一直报错,明明是list呀,为什么提醒我float对象的bug呢?
我以为是因为dataframe中该列的dtype是object所以才出现此类型错误,然而!pandas是无法将column的dtype设置为list的,所有问题还是出在该列的元素上。
于是我用isinstance找了一下非列表类型的元素,果然!pandas的空值类型不是null,实际上是float!
于是我在apply里加了个判断,对nan不做处理,else就直接输出原数据(我是准备后续清洗时统一drop掉,大家按自己需求处理)