3
実際の州名と一致する場合に表示される値です。例:ミシガン大学 - >ミシガン州(「州」ではなく)。最終的には、「州」は50州すべてになるので、州名ごとに50の「np.where」ステートメントを書くことはできません。変更真/ np.whereとパンダのデータフレーム(中離散値に値False)
ありがとうございました。
実際の州名と一致する場合に表示される値です。例:ミシガン大学 - >ミシガン州(「州」ではなく)。最終的には、「州」は50州すべてになるので、州名ごとに50の「np.where」ステートメントを書くことはできません。変更真/ np.whereとパンダのデータフレーム(中離散値に値False)
ありがとうございました。
あなたはnp.where
するのではなく、ここにstr.extract
を使用することができます。
In [290]: df['State'] = df['College'].str.extract('({})'.format('|'.join(State)), expand=True)
In [291]: df
Out[291]:
College State
0 University of Michigan Michigan
1 University of Florida NaN
2 Iowa State Iowa
States = [
'Washington' 'Wisconsin' 'West Virginia' 'Florida' 'Wyoming'
'New Hampshire' 'New Jersey' 'New Mexico' 'National' 'North Carolina'
'North Dakota' 'Nebraska' 'New York' 'Rhode Island' 'Nevada' 'Guam'
'Colorado' 'California' 'Georgia' 'Connecticut' 'Oklahoma' 'Ohio' 'Kansas'
'South Carolina' 'Kentucky' 'Oregon' 'South Dakota' 'Delaware'
'District of Columbia' 'Hawaii' 'Puerto Rico' 'Texas' 'Louisiana'
'Tennessee' 'Pennsylvania' 'Virginia' 'Virgin Islands' 'Alaska' 'Alabama'
'American Samoa' 'Arkansas' 'Vermont' 'Illinois' 'Indiana' 'Iowa'
'Arizona' 'Idaho' 'Maine' 'Maryland' 'Massachusetts' 'Utah' 'Missouri'
'Minnesota' 'Michigan' 'Montana' 'Northern Mariana Islands' 'Mississippi'
]
state_str = '|'.join(States)
df.update(df.College.str.extract(r'(?P<State>{})'.format(state_str), expand=True))
df