我有一个数据框,一列是时间(存储为sslMode=requireSSL
),它们被截断为秒。事件确实是随机发生的,但总是在不同的时间。我想按如下方式调整时间。如果给定Timestamps
出现一次,则加半秒(例如15:16:04变为15:16:04.5)。如果它出现两次,第一次和四分之三到第二次四分之一秒(例如15:16:04变为15:16:04.25和15:16:04.75)。等等(例如,如果15:16:04发生三次,你最终会以15:16:04 + 1 / 6,15:16:04.5和15:16:04 + 5/6结束)。大熊猫的惯用方法是什么?
答案 0 :(得分:0)
我不会称之为惯用语,但你可以这样做。平滑也不会与你的不同。
import pandas as pd
from datetime import timedelta
def procTime(df):
n = df.Timestamp.shape[0]
df.Timestamp += [timedelta(0, i / (n + 1.0)) for i in range(1, n + 1)]
return df
df = df.groupby('Timestamp').apply(procDF)