列到具有滚动时间的日期时间熊猫

时间:2021-02-17 22:25:34

标签: python pandas dataframe

我有一个 df,它有一个时间戳列,如下所示:

0:40:40
0:40:45 
...

23:59:55
0:00:00
0:00:05 
...

并且这样重复了很多天。如何将其转换为日期时间对象,并为每个新的一天分配不同的连续日期?目前,to_datetime 会将它们全部分配到同一天。

2 个答案:

答案 0 :(得分:0)

在使用 to_datetime 制作 DATE 列之后:

df['New_date'] = df.apply(lambda row : row['DATE']+datetime.timedelta(days=row.name), axis=1)

注意:row.name 将索引号添加为一天

答案 1 :(得分:0)

df.timestamp = pd.to_datetime(df.timestamp)
days = 0 
for i in range(2, size + 1): 
    if df.at[i - 1, 'timestamp'].hour > df.at[i, 'timestamp'].hour:
        days += 1
    df.at[i, 'timestamp'] += datetime.timedelta(days=days)