使用 astype(int) 将时间戳转换为 int
Convert a timestamp to int using astype(int)
我有变量 time
:
>>> time = pd.to_datetime(1613260800000000000)
>>> time
Timestamp('2021-02-14 00:00:00')
time
是一个 timestamp
。现在我想将 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
参数。
我该如何解决这个问题?
对于 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
只需使用time_variable.timestamp()
但这将以秒为单位...而不是 ms 或其他任何东西(我们?)
您需要将结果乘以 1e9
才能得到与您输入的值相同的值
我有变量 time
:
>>> time = pd.to_datetime(1613260800000000000)
>>> time
Timestamp('2021-02-14 00:00:00')
time
是一个 timestamp
。现在我想将 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
参数。
我该如何解决这个问题?
对于 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
只需使用time_variable.timestamp()
但这将以秒为单位...而不是 ms 或其他任何东西(我们?)
您需要将结果乘以 1e9
才能得到与您输入的值相同的值