Сегодня в миллионный раз у меня был набор данных, в котором были перечислены полные имена состояний. Но мне нужно было перечислить сокращения штатов почтового индекса. Вот фрагмент кода, который я написал, который отобразил изменения для меня, используя данные с сайта c.
1) Кто-нибудь знает или думает о лучшем решении?
2a) Кто-нибудь знает о лучшей веб-ссылке? Использование сайтов USPS (например, приведенных ниже) не будет работать с pd.read_html()
2b) Мне также было трудно изолировать правильную таблицу от pd.read_html()
и страницу вики по адресу: https://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations
import pandas as pd
# Make Generic Data For Demonstration Purpose
data = {'StName':['Wisconsin','Minnesota','Minnesota',
'Wisconsin','Florida','New York']}
df = pd.DataFrame(data)
# Get State Crosswalk From Generic Website
crosswalk = 'http://app02.clerk.org/menu/ccis/Help/CCIS%20Codes/state_codes.html'
states = pd.read_html(crosswalk)[0]
# Demo Crosswalking State Name to State Abbreviation
df['StAbbr'] = df['StName'].map(dict(zip(states['Description'],
states['Code'])))
# Demo Reverse Crosswalking Back to State Name
df['StNameAgain'] = df['StName'].map(dict(zip(states['Code'],
states['Description'])))