我需要将数据框中的非空值替换为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
Run Code Online (Sandbox Code Playgroud)
我不确定为什么它用零替换非空值.pd.notnull()恰恰相反.任何人都能解释我在这里缺少的东西吗?
做就是了:
mydf = mydf.notnull() * 1
mydf
Run Code Online (Sandbox Code Playgroud)
为了完整
mydf.isnull() * 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10090 次 |
| 最近记录: |