Time 指定时间单位的时间序列

Time 指定时间单位的时间序列,time,pandas,Time,Pandas,我有一个不均匀的时间戳数据,我想在熊猫中处理。时间戳以毫秒为单位,从0开始,因此数据如下所示 Timestamp Property 0 1 1 2 2 3 4 4 10 4 19 7 我有一个非常基本的问题,我可以创建一个以索引作为时间戳的pd.Se

我有一个不均匀的时间戳数据,我想在熊猫中处理。时间戳以毫秒为单位,从0开始,因此数据如下所示

Timestamp        Property
0                   1
1                   2           
2                   3
4                   4
10                  4
19                  7

我有一个非常基本的问题,我可以创建一个以索引作为时间戳的pd.Series对象。但是Pandas怎么知道我的时间戳是以毫秒为单位的,或者是以秒或小时为单位的呢?

Pandas假设时间戳是以纳秒为单位的,如果你想以毫秒为单位转换列,请使用
df['col']=df['col'].astype('datetime64[ms]')
。请注意,最后一列将以nanos表示。

如何以索引作为时间戳的序列读取上述数据?对不起,我对Pandas不熟悉,但我的意思是创建Pandas数据框,并将第一列设置为索引?那不行吗?我想我陷入困境的地方是如何告诉熊猫时间是以毫秒为单位的?你可以用例如
pd.to_datetime(df['Timestamp'],unit='ms')
指定单位,但你的基准日期是什么?因为10毫秒不是时间戳,但可能是时间增量?是的,它是一个增量,基本日期时间是在时间=0时,表达式从时间=0时开始,这是基础。您可以有一个带有
timedelta64
类型的列,该列可以保存此类数据,并可以为其设置单位(在您的情况下为毫秒),但pandas不支持将其作为索引。所以,如果你想把它作为索引,我会把它作为int,并确保你记得它是哪一个单位。谢谢你的回答,但是你怎么说最后一列是以nano为单位的呢?转换后,它将以毫秒为单位,对吗?Pandas始终在内部为所有日期使用
datetime64[ns]
。您可以使用
df['date\u col']返回毫秒,如
int64
。astype('int64')//10**6