【问题标题】:Converting zipcodes to states in python在python中将邮政编码转换为状态
【发布时间】:2018-03-14 22:12:22
【问题描述】:

我正在尝试使用 zipcode 2.0.0 包将“zip_code”列中的所有邮政编码转换为状态。

zip=f['zip_code']
zip=zip.astype(int)
zip=zip.astype(str)
for i in zip:
    myzip = zipcode.isequal(i)
    print(myzip.state)

我已将邮政编码转换为字符串,因为 myzip 只接受字符串。但是,当我尝试打印出相应的状态时,却报错:

AttributeError: 'NoneType' object has no attribute 'state'

这里有什么问题?包here

【问题讨论】:

  • zip是python中的保留关键字;请使用其他东西。
  • @ReblochonMasque,从技术上讲,zip 不是关键字,而是内置函数。仍然是 OP 应避免为其变量使用的保留名称。
  • @brddawg 我的意思是,可能。我们不知道f['zip_code'] 是什么,astype 可能是str 的提升,可以对一些类似邮政编码的对象的集合进行操作。
  • @datalearner 你的输入法和样本数据会有所帮助。
  • zip 不是保留,这意味着一个不能重复使用它。它只是预定义的,这意味着一个不应该在不了解后果的情况下重复使用它。 class 是保留关键字的一个示例,这就是为什么人们使用像 cls 这样的东西作为类方法的常规第一个参数。

标签: python zipcode


【解决方案1】:

根据这里:http://pythonhosted.org/zipcode/isequal 方法可以返回一个 Zip 对象,如果邮政编码不相等,则返回 None。因此,仅当您返回有效的邮政编码时才应打印状态。试试这个:

zip=f['zip_code']
zip=zip.astype(int)
zip=zip.astype(str)
for i in zip:
    myzip = zipcode.isequal(i)
    if myzip:
        print(myzip.state)

【讨论】:

  • 这很快!谢谢,你解决了问题:)我想在发布问题之前找到答案还有很长的路要走。
  • 别担心!如果对您有用,请勾选答案旁边的绿色勾号。
猜你喜欢
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
相关资源
最近更新 更多