我有一个这样的数据集:Build_year Max_cnt_year b1920 b1945 b1975 b1995
NaN 120 120 35 45 70
0 67 35 67 21 34
1921 145 39 67 22 145
...
期望输出:
^{pr2}$
我想将最大年份与b1920、b1945、b1975、b1995的值进行比较,如果与该年份匹配,我希望相应地分配值,条件是构建年份>1500
我尝试此代码失败:def mapper(item):
max_val = df_all['max_cnt_year']
comp_val=df_all['build_year']
for comp in comp_val:
if comp<1500 or comp is None:
if max_val==df_all['b1920']:
return 1920
elif max_val==df_all['b1945']:
return 1945
elif max_val==df_all['b1970']:
return 1970
elif max_val==df_all['b1995']:
return 1995
else: return 2005
else: return comp_val
df_all['build_year1'] = map(mapper, df_all)
<