繁体   English   中英

将 OrderedDicts 系列/列表更改为 Pandas DataFrame

[英]Changing Series/List of OrderedDicts to Pandas DataFrame

因此,我在县评估员办公室的 excel 电子表格中有一个 dataframe 的 533,668 个活跃的企业登记处。 我想将地址(目前全部在一列中)分解为 AddressNumber、StreetName、StreetType、UnitNumber、City、State 等,我有一个库 (pyusaddress),可以通过该列进行解析。 我用了

`def clean_address(row):
    try:
        prep_address = usaddress.tag(row)
        address = prep_address[0]
    except usaddress.RepeatedLabelError as e :
        print(e.parsed_string)
        print(e.original_string)
        address = 'Duplicate Address'
    except TypeError:
        address = "Invalid Address"
    return address

address_list = active_businesses['STREET ADDRESS'].apply(clean_address)`

这个问题是我得到了一个 OrderedDicts 列表,然后我需要解析它以获得 dataframe。我尝试了一个 for 循环,但它非常慢,所以我想知道是否有人有更好的想法?

apply 方法本质上是一个 for 循环。 您可能会通过 np.vectorize 方法获得更好的性能,该方法的工作原理几乎相同,并且在过去为我提供了更好的性能。 参考这篇文章Performance of Pandas apply vs np.vectorize to create new column from existing columns

关于 OrderedDicts,除了尝试以有效的方式解析它之外,您无能为力,也许这个线程可以在这个意义上帮助您如何从 OrderedDicts 列表中创建 Pandas DataFrame?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM