在python 3.6和pandas 0.19.0中
有一列"date“
date
2018-01-01
2018-01-02
2018-01-03
2018-01-05我正在尝试将其转换为NULL=0,非NULL=0值=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有什么想法吗?谢谢!
发布于 2018-08-12 05:19:01
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 )
https://stackoverflow.com/questions/51803815
复制相似问题