我有一个带有列的数据框"时间"浮点数,表示从0到8的天数,以及一个包含其他数据的列。时间步骤不是连续的。
time_clean = np.arange(0, 8, 0.1)
noise = [random.random()/10 for n in range(len(time_clean))]
time = time_clean + noise
data = [random.random()*100 for n in range(len(time_clean))]
df = pd.DataFrame({"time": time, "data":data})
df.head()
data time
0 89.965240 0.041341
1 95.964621 0.109215
2 70.552763 0.232596
3 74.457244 0.330750
4 13.228426 0.471623
我想重新采样并将数据插入到每15分钟(15/(60*24)
天)。
我认为最有效的方法是使用pandas数据帧的resample
方法,但为了做到这一点,我需要将时间列转换为timestamp
,并使其成为索引。
最有效的方法是什么?是否可以将int
转换为datetime
?
答案 0 :(得分:3)
我认为您首先需要转换列time
to_timedelta
,然后sort_values
转换为resample
:
另外,我认为最好添加一行0
,以便始终从0
开始重新取样(如果0
不在time
列,则从最小{{ {1}}值)
time