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