如何从两个数据帧中插入时间戳

2024-04-19 17:45:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据集的数据来自不同的设备,我想把他们一起图表。问题是一个设备的测量单位是毫秒,其他的测量单位是秒,所以我发现很难插入时间戳。你知道吗

以下是数据示例(通常是很长的csv文件): 设备1(dfz):

Time    HR
13:06.4 70
13:07.4 70
13:08.4 70
13:09.4 73
13:10.4 73
13:11.4 75
13:12.4 87
13:13.4 90
13:14.4 92

设备2(dfr):

timestamp   hr[1]
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70
1.55E+12    70

以下是我目前掌握的代码:

df = pd.read_csv('insert csv file')
dfz = (df.loc[:, ['Time', 'HR']])
dfz.set_index('Time')
dfz.Time = pd.to_datetime(dfz.Time).dt.time


df_1 = pd.read_csv('insert csv file', dtype={"timestamp": float, "hr[1]": int})
dfr = (df_1.loc[:, ['timestamp', 'hr[1]']])
dfr.set_index('timestamp')

# Change timestamp to normal timestamp

dfr['timestamp'] = pd.to_datetime(dfr['timestamp'], unit='ms') - timedelta(hours=8)
dfr['timestamp'] = pd.Series([val.time() for val in dfr['timestamp']])

我可以分别绘制每个数据集,但我想将两者结合起来,这样它就创建了一个数据帧,使用dfz数据库中的Time作为索引,并在同一个图上同时绘制HRhr[1]。你知道吗

我试过使用pd.merge_asof,但一直收到'NoneType' object is not callable错误消息。你知道吗

任何帮助都将不胜感激!你知道吗


Tags: csvto数据dfreadtimehr单位