pandas apply自觉无误却一直报类型相关错误的可能原因 XX is not subscriptable/iterable

在进行pandas数据分析时遇到应用apply函数时报类型错误,原因是存在float类型的空值nan。通过对数据进行检查,发现pandas中nan不是列表可迭代对象,导致错误。解决方案是在apply函数内部对nan进行特殊处理,避免空值引发的TypeError。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说结论

pandas内空值nan的类型是float,apply因为类型出bug大概率就是有脏数据或者空值没处理好!!!

Background

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


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值