【发布时间】:2018-08-09 14:20:56
【问题描述】:
我有一个包含两列状态和代码的数据框,每列都有缺失值。
import pandas as pd
df = pd.DataFrame([['Alabama', 'AL'], ['Alaska', 'AK'], ['Arizona', 'AZ'], ['Arkansas', 'AR'], ['Iowa','IA'],['Hawaii','HI'], ['Idaho', 'ID'], ['Alabama', ''], ['', 'IA'], ['Alaska',''], ['', 'AZ']], columns=['State', 'Code'])
缺失值
State Code
7 Alabama
8 IA
9 Alaska
10 AZ
我尝试过的
state_code_dict = {
'Alabama': 'AL',
'Alaska': 'AK',
'Arizona': 'AZ',
'Arkansas': 'AR',
'Iowa':'IA',
'Hawaii':'HI',
'Idaho': 'ID',
}
def state_code(x):
if (x['Code'] == ''):
return state_code_dict[x['State']]
else:
return x['Code']
df['Code'] = df.apply(lambda x: state_code(x), axis=1)
这会设置代码中的缺失值。我还需要更新此功能以设置状态。我希望简化这一点。
需要的输出
State Code
7 Alabama AL
8 Iowa IA
9 Alaska AK
10 Arizona AZ
【问题讨论】:
-
我确定我之前看到过类似的问题
标签: python python-3.x pandas dataframe