当前位置: 首页 > 知识库问答 >
问题:

AttributeError:“dict”对象没有属性“iteritems”[重复]

毋承基
2023-03-14

问题:我在运行下面的代码时出错。我是新手,不知道如何解决这个问题。creae函数将每个坐标点指定给其自治区。

    def find_borough(lat,lon):
        """
        return the borough of a location given its latitude and longitude
        lat: float, latitude
        lon: float, longitude
        """
        boro = 0 # initialize borough as 0
        for k,v in boros.iteritems(): # update boro to the right key corresponding to the parent polygon
            if v['polygon'].contains(Point(lon,lat)):
                boro = k
                break # break the loop once the borough is found
        return [boro]

## Analyse the cluster now
# create data frame of boroughs
    df = data1[data1.Trip_duration>=1350]
    orig_dest = []
    for v in df[['Pickup_latitude','Pickup_longitude','Dropoff_latitude','Dropoff_longitude']].values:
        orig_dest.append((find_borough(v[0],v[1])[0],find_borough(v[2],v[3])[0]))
    df2 = pd.DataFrame(orig_dest)



        ---------------------------------------------------------------------------
        AttributeError                            Traceback (most recent call last)
        <ipython-input-92-6a4861346be4> in <module>()
             35 orig_dest = []
             36 for v in df[['Pickup_latitude','Pickup_longitude','Dropoff_latitude','Dropoff_longitude']].values:
        ---> 37     orig_dest.append((find_borough(v[0],v[1])[0],find_borough(v[2],v[3])[0]))
             38 df2 = pd.DataFrame(orig_dest)
             39 

        <ipython-input-92-6a4861346be4> in find_borough(lat, lon)
             24     """
             25     boro = 0 # initialize borough as 0
        ---> 26     for k,v in boros.iteritems(): # update boro to the right key corresponding to the parent polygon
             27         if v['polygon'].contains(Point(lon,lat)):
             28             boro = k

        AttributeError: 'dict' object has no attribute 'iteritems'

共有1个答案

萧宏远
2023-03-14

在Python 3中,dict.iteritems被重命名为dict.items。您也应该在代码中进行重命名。在Python2中,dict.items也可以工作,尽管这将返回一个项目列表,而Python2中的dict.iterms(以及Python3中的dict.items)将返回一个生成器,允许在项目上进行低内存循环。

 类似资料:
  • 在这个错误之前,它已经给了我另一个“xrange不存在”之类的信息,所以我查找了它,并将nx_shp.py文件中的更改为,这似乎解决了这个问题。 根据我所读到的内容,它可能与Python版本(Python2 vs Python3)有关。

  • 我是python新手,找不到这个问题的答案。参考消息末尾的代码,我可以知道下一行中“for item,total in totals.items()”部分是什么意思吗? 此外,代码失败,并表示 AttributeError:“dict”对象没有属性“Predictor” 当我将代码中“item(s)”的所有实例更改为“predictor(s)”时。为什么会这样?

  • 问题内容: 我想转换火花数据框架以使用以下代码添加: 详细的错误消息是: 有人知道我在这里做错了吗?谢谢! 问题答案: 您无法使用数据框,但可以将数据框转换为RDD并通过映射将其映射。在Spark 2.0之前,别名为。使用Spark 2.0,您必须先明确调用。

  • 问题内容: 我如何解决此错误,我是从GitHub下载此代码的。 引发错误 请帮我解决这个问题! 我用了: 我得到这个错误。有人帮我,我只想让它工作为什么这么难? 问题答案: 我怀疑您从中复制代码的地方启用了急切执行功能,即在程序开始时调用了该位置。 您也可以这样做。希望能有所帮助。 更新:请注意,默认情况下,TensorFlow 2.0中启用了急切执行。因此,以上答案仅适用于TensorFlow

  • 问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000

  • 问题内容: 当我尝试时,会发生错误: 我找到了带有pyelasticsearch.py 的链接https://github.com/toastdriven/pyelasticsearch/blob/master/pyelasticsearch.py​​#L424-469,但我不知道它是哪个版本。无论如何,该代码中没有购买我的pyelasticsearch.py​​。任何人都有相同的经历吗?感谢您的