分配熊猫数据帧 NULL=0,非 NULLvalue=1



在python 3.6和pandas 0.19.0中

有一列"日期">

date
2018-01-01
2018-01-02
2018-01-03
2018-01-05

我正在尝试将其转换为 NULL=0,非 NULLvalue=1

date
1
1
1
0
1

第一步是将 null 转换为 0,这很容易

df['date'] = df['date'].fillna(value=0)

这给了我:

date
2018-01-01
2018-01-02
2018-01-03
0
2018-01-05

但是,我有点坚持将非零值转换为 1。 pandas.set_values在这里似乎不是一个好的选择。

df['date']=df[(df.date != 0)] == "1"

以上似乎不适用于错误消息:

TypeError: Could not compare ['1'] with block values

有什么想法吗? 谢谢!

IIUC

pd.to_datetime(df.date,errors='coerce').isnull().astype(int)
Out[862]: 
0    0
1    0
2    0
3    1
4    0
Name: date, dtype: int32

df.date.isnull().astype(int)(如果空白已经NaN(

最新更新