我需要将数据框中的非空值替换为1,将null值替换为0.
这是我的数据帧:
my_list= [['a','b','c'],['test1','test2',None],[None,'101','000']]
mydf= pd.DataFrame(my_list,columns=['col1','col2','col3'])
mydf
col1 col2 col3
0 a b c
1 test1 test2 None
2 None 101 000
mydf.where((pd.isnull(mydf)),0,inplace=True)
mydf
col1 col2 col3
0 0 0 0
1 0 0 None
2 None 0 0
我不确定为什么它用零替换非空值. pd.notnull()恰恰相反.任何人都能解释我在这里缺少的东西吗?
最佳答案 做就是了:
mydf = mydf.notnull() * 1
mydf
为了完整
mydf.isnull() * 1