Python熊猫:使用相同的类别名称(在一列中)和NaN(在另一列中)填充数据帧

Python熊猫:使用相同的类别名称(在一列中)和NaN(在另一列中)填充数据帧,python,pandas,Python,Pandas,我有一个与此类似但更大的数据帧: year city_code total_tax id_inf 9 2002 NaN NaN 9 2003 a 417.0 9 2004 a 950.0 9 2005 NaN NaN 9 2006 NaN

我有一个与此类似但更大的数据帧:

       year city_code  total_tax
id_inf                           
9       2002       NaN        NaN
9       2003         a      417.0
9       2004         a      950.0
9       2005       NaN        NaN
9       2006       NaN        NaN
54      2002         b      801.0
54      2003       NaN        NaN
54      2004         b      218.0
54      2005         b      886.0
54      2006         b      855.0
我需要在“城市代码”中填入相同类别的“id\U inf”,并在“总税”列中将NaN替换为零

第二项任务很简单:df_balanced['total_tax']=df_balanced['total_tax']]

但是对于第一个任务,有人建议我使用类似的东西:“df_balanced['city_code']=df_balanced.groupbylevel=0['city_code'].transformmax”。但是,当我使用此解决方案时,我遇到了以下错误:“float”和“str”实例之间不支持“>=”

我需要的输出如下:

        year city_code  total_tax
id_inf                           
9       2002         a        0.0
9       2003         a      417.0
9       2004         a      950.0
9       2005         a        0.0
9       2006         a        0.0
54      2002         b      801.0
54      2003         b        0.0
54      2004         b      218.0
54      2005         b      886.0
54      2006         b      855.0
先用

df['city_code']=df.groupby('id_inf').city_code.transform('first')
#df.groupby('id_inf').city_code.transform('first')
Out[278]: 
id_inf
9     a
9     a
9     a
9     a
9     a
54    b
54    b
54    b
54    b
54    b
Name: city_code, dtype: object