pandas datetime64[ns] 之间的差异(以毫秒为单位)
pandas difference between datetime64[ns] in milliseconds
如何获取这两列的毫秒差:
import numpy as np
from datetime import datetime
import pandas as pd
def datetime_generator():
day = np.random.randint(1, 7 + 1)
hour = np.random.randint(0, 23 + 1)
minute = np.random.randint(0, 59 + 1)
second = np.random.randint(0, 59 + 1)
millisecond = np.random.randint(0, 999999 + 1)
return datetime(2018, 1, day, hour, minute, second, millisecond)
df = pd.DataFrame({'ts1': [datetime_generator() for i in range(10)],
'ts2': [datetime_generator() for i in range(10)]})
编辑:获取时间增量,然后读取并转换它们的微秒。
df["new"] = df.ts1 - df.ts2
df["new"] = df.new.apply(lambda x: x.microseconds/1000)
这个旧答案只得到微秒
.dt.microsecond
就是这样
df["new"] = df.ts1.dt.microsecond - df.ts2.dt.microsecond
注意微秒和毫秒之间的转换比是 1000:1
所以...
df["new"] = (df.ts1.dt.microsecond - df.ts2.dt.microsecond)/1000
据我所知,没有 .dt.milisecond
等价物。
如何获取这两列的毫秒差:
import numpy as np
from datetime import datetime
import pandas as pd
def datetime_generator():
day = np.random.randint(1, 7 + 1)
hour = np.random.randint(0, 23 + 1)
minute = np.random.randint(0, 59 + 1)
second = np.random.randint(0, 59 + 1)
millisecond = np.random.randint(0, 999999 + 1)
return datetime(2018, 1, day, hour, minute, second, millisecond)
df = pd.DataFrame({'ts1': [datetime_generator() for i in range(10)],
'ts2': [datetime_generator() for i in range(10)]})
编辑:获取时间增量,然后读取并转换它们的微秒。
df["new"] = df.ts1 - df.ts2
df["new"] = df.new.apply(lambda x: x.microseconds/1000)
这个旧答案只得到微秒
.dt.microsecond
就是这样
df["new"] = df.ts1.dt.microsecond - df.ts2.dt.microsecond
注意微秒和毫秒之间的转换比是 1000:1
所以...
df["new"] = (df.ts1.dt.microsecond - df.ts2.dt.microsecond)/1000
据我所知,没有 .dt.milisecond
等价物。