问题描述
有一列数据中包含空值,类型是str,数值0.00000000
最终需要转为int类型
我需要先转为float,但是转为float后空值被转为np.nan,这是不能转int的
所有我把np.nan填充-1,然后转为int
然后需要把-1再转回None
直接使用
zj_kpi['rrc_avg'].replace(-1, None, inplace=True)
zj_kpi['valid_rrc_avg'].replace(-1, None, inplace=True)
是不能达到效果的
得这样写,通过list形式传递
zj_kpi['rrc_avg'].replace([-1], [None], inplace=True)
zj_kpi['valid_rrc_avg'].replace([-1], [None], inplace=True)
if any(zj_kpi['rrc_avg'].notnull()):
zj_kpi['rrc_avg'] = zj_kpi['rrc_avg'].astype(float)
zj_kpi['valid_rrc_avg'] = zj_kpi['valid_rrc_avg'].astype(float)
zj_kpi['rrc_avg'].fillna(-1, inplace=True)
zj_kpi['valid_rrc_avg'].fillna(-1, inplace=True)
zj_kpi['rrc_avg'] = zj_kpi['rrc_avg'].astype(int)
zj_kpi['valid_rrc_avg'] = zj_kpi['valid_rrc_avg'].astype(int)
# -1值转回None
zj_kpi['rrc_avg'].replace([-1], [None], inplace=True)
zj_kpi['valid_rrc_avg'].replace([-1], [None], inplace=True)