I have a table that contains 2 columns.

```
     Column 1 | Column 2     
----------------------------
unique_number | '123 Main St. Suite 100 Chicago, IL'

```

I've been exploring address parsing using <https://parserator.datamade.us/api-docs> and ideally would like to parse the address, and put the results into new columns. 

```
import usaddress
addr='123 Main St. Suite 100 Chicago, IL'

```

Two options for returning parsed results, and I plan on using whichever is easier to add to a dataframe: 

1. `usaddress.parse(addr)` The parse method will split your address string into components, and
label each component. (returns list)
2. `usaddress.tag(addr)` The tag method will try to be a little smarter it will merge consecutive components, strip commas, & return an address type (returns ordered list)

There are 26 different tags available for an address using this parser. 

However, Not all addresses will contain all of these tags.

I need to grab the full address for each row, parse it, map the parsed results to each matching column in that same row.

[What the tag data looks like using from\_records (index isn't exactly ideal)](https://i.stack.imgur.com/ibDKK.png)

[What the parse data looks like using from\_records](https://i.stack.imgur.com/7eOwz.png)

I can't quite figure out how to logic of row by row calculations and mapping results.