只使用Minute和Second数据在dataframe中生成小时和天-Python



我有这个数据帧(一个小时后它如何变化的例子(。问题是,它是一个160000行的数据帧,在一个月内只以小时为单位前进,所以假设数据是完整的,我想生成一个月的时间和日期。秒是带小数的。

105    59:12.9
106    59:22.8
107    59:32.9
108    59:43.0
109    59:53.1
110    00:03.2
111    00:13.3
112    00:22.3
113    00:32.4
114    00:42.6

据我所见,pandas中的数据时间库不允许以这种格式重新采样。我想获得格式为2012/1/1 00:00:00的数据(假设它始于2012年1月1日(。

有办法和熊猫一起做吗?还是我应该在几分钟内做一些迭代函数?

我不认为有一种方法可以在不迭代列表的情况下完成您想要的操作,但您可以使用Pandas的apply方法:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html

这里有一个粗略的例子:

df = YourDataFrame
day = datetime.date(2012, 1, 1)
hour = 0
last = datetime.strptime("00:00.0","%M:%S.%f")
def expandtime(time):
t = datetime.strptime(time,"%M:%S.%f")
if t < last:
if hour >= 23:
day = day + datetime.timedelta(days=1)
hour = 0
else:
hour += 1
last = t
return day + timedelta(hours=hour, minutes=t.minute, seconds=t.second)
df.apply(expandtime, axis=1)

相关内容

  • 没有找到相关文章

最新更新