17

下面的一段代码:

import pandas as pd
import numpy as np

data = pd.DataFrame({'date': ('13/02/2012', '14/02/2012')})
data['date'] = data['date'].astype('datetime64')

在一台机器(windows)上工作正常,在另一台机器(linux)上不能工作。numpy 和 pandas 都安装在两者上。

我得到的错误是:

ValueError: Cannot create a NumPy datetime other than NaT with generic units

这个错误是什么意思?我第一次看到它,我在网上找不到太多东西。是缺少一些依赖吗?

4

1 回答 1

25

改为这样做。Pandas 在内部将日期时间保存为datetime64[ns]. 像这样的转换非常有问题(因为各种 numpy 版本中的问题,尤其是 1.6.2)。使用 pandas 例程,然后像查看实际日期时间对象一样操作。你想做什么?

In [30]: pandas.to_datetime(data['date'])
Out[30]: 
0   2012-02-13 00:00:00
1   2012-02-14 00:00:00
Name: date, dtype: datetime64[ns]
于 2013-04-23T00:18:50.883 回答