如何让你的Pandas循环加快71803倍
I 开发者按,如果你使用 python 和 pandas 进行数据分析,那么不久你就会第一次使用循环了。然而,即使是对小型数据集,使用标准循环也很费时,你很快就会意识到大型数据帧可能需要很长的时间。当我第一次等了半个多小时来执行代码时,我找到了接下来想与你共享的替代方案。 标准循环数据帧是具有行和列的 pandas 对象。如果使用循环,则将遍历整个对象。python 不能用任何内置函数,而且速度非常慢。在我们的示例中,我们得到了一个具有 65 列和 1140 行的数据帧,它包含 2016-2019 赛季的足球比赛结果。我们要创建一个新的列来指示某个特定的队是否打过平局。我们可以这样开始: 为我们的数据框架中包含了英超的每一场比赛,所以我们必须检查我们感兴趣的球队(阿森纳)是否参加过比赛,是否适用,他们是主队还是客队。如你所见,这个循环非常慢,需要 207 秒才能执行。让我们看看如何提高效率。 pandas 内置函数:iterrow()——快 321 倍
在第一个示例中,我们循环访问了整个数据帧。iterrows()为每行返回一个序列,因此它以一对索引的形式在数据帧上迭代,而感兴趣的列以序列的形式迭代。这使得它比标准循环更快: (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |