使用熊猫的Python数据框40GB,无需使用for循环即可计算统计信息

时间:2020-05-21 18:15:34

标签: pandas dataframe iteration

我有一个很大的DataFrame可以容纳40GB的数据。假设我有三列: ID,速度,速度限制。有很多重复的ID。该数据是每秒的。 在计算结束时,我想在新的DataFrame中为每个ID提供行驶的公里总数和超速行驶的公里数。

我知道如何使用循环来做到这一点,但是我知道遍历行是一个问题,因为它非常慢并且我大约有1.2亿行。 我可以使用哪种熊猫工具来实现这一目标?

1 个答案:

答案 0 :(得分:1)

在超速期间,您只需使用time_overspeed = (df['speed'] > df['speed_limit']).sum()。每行是一秒钟,结果以秒为单位。

对于距离计算,我们有distance = speed * duration。再次,每行是一秒钟,然后是:distance = df['speed'].sum() / 3600(假设速度以km / h为单位,距离以km为单位)。