我有一个大熊猫DataFrame,由大约100k行和〜100列组成,具有不同的dtypes和任意的内容。
我需要断言它不包含某个值,例如-1
。
使用assert( not (any(test1.isin([-1]).sum()>0)))
会导致几秒钟的处理时间。
有什么想法要加快速度吗?
答案 0 :(得分:1)
只需从我的评论中得出完整答案即可:
使用-1 not in test1.values
,您可以检查-1
是否在您的DataFrame中。
关于性能,这仍然需要检查每个值(在您的情况下)
10^5*10^2 = 10^7
。
仅使用此功能,您可以节省用于求和的性能成本以及这些结果的其他比较。