天的小时
对于某些日期时间 特征 </跨度> 工程 </跨度> 稍后的。当我尝试:
df [‘col3’] = pd.to_datetime(df [‘col3’])
我收到此错误:
OutOfBoundsDatetime:超出界限纳秒时间戳:3008-07-25 00:00:00
有任何想法吗?
谢谢 …
你可以使用参数 errors='coerce' 转换值超出限制 NaT :
errors='coerce'
NaT
print (df) col1 col2 col3 0 A 10 2016-06-05 11:00:00 0 B 11 2016-06-04 00:00:00 0 C 12 2016-06-02 05:00:00 0 D 13 3008-07-25 00:00:00
df['col3'] = pd.to_datetime(df['col3'], errors='coerce') print (df) col1 col2 col3 0 A 10 2016-06-05 11:00:00 0 B 11 2016-06-04 00:00:00 0 C 12 2016-06-02 05:00:00 0 D 13 NaT
时间戳限制 :
In [68]: pd.Timestamp.min Out[68]: Timestamp('1677-09-21 00:12:43.145225') In [69]: pd.Timestamp.max Out[69]: Timestamp('2262-04-11 23:47:16.854775807')
也有可能创造 期 ,但不容易从字符串:
def conv(x): return pd.Period(year = int(x[:4]), month = int(x[5:7]), day = int(x[8:10]), hour = int(x[11:13]), freq='H') df['col3'] = df['col3'].apply(conv) print (df) col1 col2 col3 0 A 10 2016-06-05 11:00 0 B 11 2016-06-04 00:00 0 C 12 2016-06-02 05:00 0 D 13 3008-07-25 00:00