优化时间序列的日期函数

时间:2019-04-17 13:43:43

标签: python function dataframe optimization time-series

我有一个带有Time(seconds)列的数据集,我想创建另一个包含完整日期和时间(yy / mm / dd h:m:s)的列,因此我在下面编写了此函数,但它花费的时间太长较大的数据集,我如何优化它?

专栏时间就是这样

0     0.0
1     0.2
2     0.4
3     0.6
4     0.8
5     1.0
6     1.2
7     1.4
8     1.6
9     1.8
10    2.0
11    2.2
12    2.4
13    2.6
14    2.8
15    3.0
16    3.2
17    3.4
18    3.6
19    3.8
20    4.0

功能

def calcul_datetime(ds,h,m,s,Y,M,D):


    for index,row in ds.iterrows():


        if row.Time.is_integer()==True and row.Time!=0:

            s=s+1
            if s==60:

                m=m+1
                s=0
                if m==60:
                    h=h+1
                    m=0
                    if h==24:
                        D=D+1
                        h=0
        ds.iloc[index,9]="{Y}-{M}-{D} {heure}:{min}:{sec}".format(Y=Y, M=M, D=D ,heure=h,min=m,sec=s)

    return ds  ```

1 个答案:

答案 0 :(得分:0)

datetime模块具有执行时间和日期计算所需的几乎所有功能。

具体来说,datetime.datetime.fromtimestamp方法将秒since the epoch转换为datetime.datetime对象。然后,该对象具有方便的字符串表示方法:datetime.datetime.strftime

这是一个例子:

import datetime

some_arbitrary_time_value = 10000000
as_a_datetime = datetime.datetime.fromtimestamp(some_arbitrary_time_value)
as_a_string = as_a_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(as_a_string)