使用astype(int)将时间戳转换为整型



我有一个变量time:

>>> time = pd.to_datetime(1613260800000000000)
>>> time
Timestamp('2021-02-14 00:00:00')

timetimestamp。现在我想将time转换回int值。但是Timestamp对象没有属性astype。运行以下代码:

>>>time.astype(int)
AttributeError: 'Timestamp' object has no attribute 'astype'

我知道对于数据框的一列,我可以这样做:

>>> df['start_time'] = df['start_time'].to_timedate()
>>> df['start_time'] = df['start_time'].astype(int)

第二个命令将列的类型分配给int

但是我没有找到一个全面的来源来解释如何处理单个Timestamp参数。

如何解决这个问题?

直接用time_variable.timestamp()

但那将在几秒钟内…而不是ms或其他(us?)

您需要将结果乘以1e9才能得到与

相同的值。

对于ns类似numpy/pandas的原生格式使用:

d = pd.to_datetime(1613260800000000000)
native = int(d.timestamp() * 10**9)
print (native)
1613260800000000000
print (pd.to_datetime(native))
2021-02-14 00:00:00

如果需要转换列:

time = pd.to_datetime(1613260800000000000)
df = pd.DataFrame({'start_time':[time, time]})
print (df['start_time'].astype(np.int64))
0    1613260800000000000
1    1613260800000000000
Name: start_time, dtype: int64

相关内容

  • 没有找到相关文章

最新更新