Python社区  »  Python

如何减少Python中嵌套循环代码的时间复杂度

rakesh govind • 6 天前 • 17 次点击  

请帮助我减少Python中嵌套循环的时间复杂度。

df是一个数据框,有三列,比如eg的名称、城市和日期 rep data frame的平均值/平均值基于df的2列名称和城市。我需要把平均值从rep重新连接到df

for i in range(0,len(rep)):
    for j in range(k,len(df)):
        if df["X"][j] == rep["X"][i]:
           df["Mean"][j] =  rep["Mean"][i]
       else:
           k=j
           break
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49294
 
17 次点击  
分享到微博
文章 [ 1 ]  |  最新文章 6 天前
Nikaido
Reply   •   1 楼
Nikaido    2 月前

你想要的是:

df.set_index('X').join(rep.set_index('X'))

将正在进行联接的键设置为索引将使进程更快。完成连接后,可以过滤旧的平均值(使用 drop 数据帧方法),以及不需要的值