如何在列表中用0填充nan值。我可以为数据帧执行此操作,但不知道如何为列表执行此操作?
listname=listname.fillna(0)
这不起作用。
答案 0 :(得分:2)
您可以转换为pandas系列并返回列表
pd.Series(listname).fillna(0).tolist()
考虑列表listname
listname = [1, np.nan, 2, None, 3]
然后
pd.Series(listname, dtype=object).fillna(0).tolist()
[1, 0, 2, 0, 3]
答案 1 :(得分:1)
listname1=listname.fillna()
这适用于所有int,string,float值
答案 2 :(得分:0)
您可以使用列表理解并查看math.isnan:
import math
listname = [0 if math.isnan(x) else x for x in listname]
但是对于非浮点类型不起作用,如果你的列表中有字符串,其他数字类型等,那么你可以使用str(x) != 'nan
'
listname = [0 if str(x)=='nan' else x for x in listname]