加快熊猫搜索特定值的速度,而不是整个df

时间:2019-07-31 10:20:06

标签: python-3.x pandas

我有一个大熊猫DataFrame,由大约100k行和〜100列组成,具有不同的dtypes和任意的内容。

我需要断言它不包含某个值,例如-1。 使用assert( not (any(test1.isin([-1]).sum()>0)))会导致几秒钟的处理时间。

有什么想法要加快速度吗?

1 个答案:

答案 0 :(得分:1)

只需从我的评论中得出完整答案即可:

使用-1 not in test1.values,您可以检查-1是否在您的DataFrame中。

关于性能,这仍然需要检查每个值(在您的情况下)

10^5*10^2 = 10^7

仅使用此功能,您可以节省用于求和的性能成本以及这些结果的其他比较。