熊猫用NaT替换0值

时间:2020-07-22 20:15:24

标签: python pandas replace

我有一个日期框架,其中有一列名为“日期”的列,其中包含日期格式:年月日。某些月份和日期的值为零,这意味着这些日期无效,因此我需要用NaT(而不是时间)替换这些值的数据。 我尝试了以下方法:

df [“ date”] = df [“ date”]。replace(0,np.nan), 还尝试了: df [“ date”] = df [“ date”]。replace({'0':np.nan,0:np.nan}) 还: df [“ date”] = df [“ date”]。replace(['0',0],np.nan)

但以上方法均无效。仍然有类似的数据: 1970 0 0 1970 1 0等...

1 个答案:

答案 0 :(得分:1)

pd.to_datetime与选项errors='coerce'一起使用。

示例系列s

Out[31]:
0    1970 0 0
1    1970 1 1
2    1970 1 0
dtype: object

s_out = pd.to_datetime(s, errors='coerce')

In [33]: s_out
Out[33]:
0          NaT
1   1970-01-01
2          NaT
dtype: datetime64[ns]