【发布时间】:2012-06-08 05:24:57
【问题描述】:
是否可以使用由 datetime 对象组成的列重新索引 pandas DataFrame?
我有一个 DataFrame df 包含以下列:
Int64Index: 19610 entries, 0 to 19609
Data columns:
cntr 19610 non-null values #int
datflt 19610 non-null values #float
dtstamp 19610 non-null values #datetime object
DOYtimestamp 19610 non-null values #float
dtypes: int64(1), float64(2), object(1)
我可以通过DOYtimestamp 轻松地重新索引df:df.reindex(index=df.dtstamp)
并且DOYtimestamp 具有以下值:
>>> df['DOYtimestamp'].values
array([ 153.76252315, 153.76253472, 153.7625463 , ..., 153.98945602,
153.98946759, 153.98947917])
但我想沿着由 datetime 对象组成的 dtstamp 重新索引 DataFrame,以便我直接从索引生成不同的时间戳。 dtstamp 列的值如下所示:
>>> df['dtstamp'].values
array([2012-06-02 18:18:02, 2012-06-02 18:18:03, 2012-06-02 18:18:04, ...,
2012-06-02 23:44:49, 2012-06-02 23:44:50, 2012-06-02 23:44:51],
dtype=object)
当我尝试重新索引 df 和 dtstamp 时,我得到以下信息:
>>> df.reindex(index=df.dtstamp)
TypeError: can't compare datetime.datetime to long
我只是不确定我需要做什么才能使索引成为日期时间类型。有什么想法吗?
【问题讨论】:
标签: python dataframe pandas reindex