Python 将OrderedPicts系列/列表更改为数据帧

Python 将OrderedPicts系列/列表更改为数据帧,python,python-3.x,Python,Python 3.x,因此,我在excel电子表格中有一个来自县评估员办公室的533668个活动商业登记的数据框架。我想把地址(目前都在一列中)分为AddressNumber、StreetName、StreetType、UnitNumber、City、State等,我有一个库(pyusaddress),可以通过该列进行解析。我曾经 `def clean_address(row): try: prep_address = usaddress.tag(row) address =

因此,我在excel电子表格中有一个来自县评估员办公室的533668个活动商业登记的数据框架。我想把地址(目前都在一列中)分为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列表,然后我需要解析它以获得一个数据帧。我尝试了一个for循环,但是速度非常慢,所以我想知道是否有人有更好的想法?

应用方法基本上是一个引擎盖下的for循环。通过np.vectorize方法,您可能会获得更好的性能,该方法的工作原理几乎相同,并且在过去为我提供了更好的性能。参考这篇文章

关于OrderedDicts,除了尝试以一种有效的方式解析它之外,您没有什么可以做的,也许这个线程可以从这个意义上帮助您