gpt4 book ai didi

python - 以 Float 形式表示的年份到 Datetime64

转载 作者:行者123 更新时间:2023-12-01 04:02:59 24 4
gpt4 key购买 nike

我在以下系列中有一系列年份:

>>>temp
>>> 0 1994
1 1995
2 1996
3 -9999
4 1997
5 2001
dtype: float64

我尝试了多种不同的解决方案来将这些值计算为数年。我似乎只能得到以下内容来将这些 float 转换为有效的日期时间值。

>>>temp.replace(-9999, np.nan).dropna().astype(int).astype(str).apply(np.datetime64)
>>>0 1994-01-01
1 1995-01-01
2 1996-01-01
4 2001-01-01
5 2002-01-01
dtype: datetime64[ns]

有没有更有效的方法来解决这个问题?我怀疑在这种情况下,将所有内容转换为整数,然后转换为字符串实际上是必要的或合适的。

最佳答案

您可以尝试to_datetime :

print temp
0 1994
1 1995
2 1996
3 -9999
4 1997
5 2001
dtype: int64

print pd.to_datetime(temp, format='%Y', errors='coerce')
0 1994-01-01
1 1995-01-01
2 1996-01-01
3 NaT
4 1997-01-01
5 2001-01-01
dtype: datetime64[ns]

如果您需要删除 NaT 添加 dropna :

print pd.to_datetime(temp, format='%Y', errors='coerce').dropna()
0 1994-01-01
1 1995-01-01
2 1996-01-01
4 1997-01-01
5 2001-01-01
dtype: datetime64[ns]

关于python - 以 Float 形式表示的年份到 Datetime64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com