我从gps单元获得了数据,该数据的测量频率为10 Hz,但是由于某种原因,供应商提供了高达分钟精度的时间戳。因此,我最终要进行多次重复。
是否有一种简单的方法来重新创建丢失的秒和毫秒,并假设时间戳顺序正确且时间从s = 0和ms = 0开始?
测试用例:
import pandas as pd
id_like = pd.date_range(start = '12:01:05', end = '12:04:05', freq='100ms')
ive_got = id_like.floor('1Min')
答案 0 :(得分:0)
IIUC,您可以使用pd.date_range
重新定义数据框索引:
np.random.seed(0)
id_like = pd.date_range(start = '12:01:05', end = '12:04:05', freq='100ms')
ive_got = id_like.floor('1Min')
df = pd.DataFrame(np.random.random(1801), index=ive_got)
输入数据帧打印(df.head(10)):
0
2018-11-13 12:01:00 0.548814
2018-11-13 12:01:00 0.715189
2018-11-13 12:01:00 0.602763
2018-11-13 12:01:00 0.544883
2018-11-13 12:01:00 0.423655
2018-11-13 12:01:00 0.645894
2018-11-13 12:01:00 0.437587
2018-11-13 12:01:00 0.891773
2018-11-13 12:01:00 0.963663
2018-11-13 12:01:00 0.383442
使用pd.date_range
以以下频率重新定义您的索引:
df.index = pd.date_range(df.index.min(), df.index.max(), freq='100ms')
输出打印(df.head(10)):
0
2018-11-13 12:01:00.000 0.548814
2018-11-13 12:01:00.100 0.715189
2018-11-13 12:01:00.200 0.602763
2018-11-13 12:01:00.300 0.544883
2018-11-13 12:01:00.400 0.423655
2018-11-13 12:01:00.500 0.645894
2018-11-13 12:01:00.600 0.437587
2018-11-13 12:01:00.700 0.891773
2018-11-13 12:01:00.800 0.963663
2018-11-13 12:01:00.900 0.383442