如何从 pandas.DatetimeIndex 转换为 numpy.datetime64?
Posted
技术标签:
【中文标题】如何从 pandas.DatetimeIndex 转换为 numpy.datetime64?【英文标题】:How to convert from pandas.DatetimeIndex to numpy.datetime64? 【发布时间】:2012-10-25 00:55:19 【问题描述】:如何将pandas.DatetimeIndex
转换成numpy.datetime64
?
我明白了:
>>> type(df.index.to_datetime())
Out[56]: pandas.tseries.index.DatetimeIndex
numpy.array(datetimeindex,dtype=numpy.datetime64)
安全吗?
【问题讨论】:
【参考方案1】:内的数据属于datetime64
dtype(准确来说是datetime64[ns]
)。只需获取索引的values
属性即可。请注意,它将是纳秒单位。
【讨论】:
对于 pandas 0.10.1 仍然如此吗?pd.date_range("20120101", "20120102").values
产生 array([1970-01-16 224:00:00, 1970-01-16 248:00:00], dtype=datetime64[ns])
,这是不正确的。【参考方案2】:
我会这样做:-
new_array = np.array(df.index.to_pydatetime(), dtype=numpy.datetime64)
使用to_pydatetime()
方法。
【讨论】:
以上是关于如何从 pandas.DatetimeIndex 转换为 numpy.datetime64?的主要内容,如果未能解决你的问题,请参考以下文章
Pandas - 如何将 RangeIndex 转换为 DateTimeIndex
Subsassing Pandas DatetimeIndex
将 Pandas DatetimeIndex 转换为数字格式
创建 DataFrame 后设置 pandas DatetimeIndex 的频率