Python 日期系列到日期间隔系列

Python 日期系列到日期间隔系列,python,pandas,Python,Pandas,我试图将一系列的日期转换为一系列的日期间隔,但无法在一个漂亮的查询中找到实现方法。我希望它的操作方式与.diff()方法的操作方式相同。看到我期待的行为的图像 我几乎用类似的代码提取了我要查找的信息: dates = {} for key,item in app.sort_values('Date').groupby('UniqueId'): x = list(item.Date) date_range = [] for k in range(0,len(x)-1):

我试图将一系列的日期转换为一系列的日期间隔,但无法在一个漂亮的查询中找到实现方法。我希望它的操作方式与.diff()方法的操作方式相同。看到我期待的行为的图像

我几乎用类似的代码提取了我要查找的信息:

dates = {}
for key,item in app.sort_values('Date').groupby('UniqueId'):
    x = list(item.Date)
    date_range = []
    for k in range(0,len(x)-1):
        date_range.append([x[k],x[k+1]])
        
    dates.update({key:date_range})
任何方向都有帮助。谢谢

尝试使用shift键

# Create dataframe
dates=['12/14/20 18:28','12/16/20 18:28','12/19/20 18:36','5/18/21 23:48']
cols=['dates']
df=pd.DataFrame(dates, columns=cols)

df['intervals'] = df['dates'].shift(1)+','+df['dates']

df['interval']=list(zip(df['Dates'].shift(-1),df['Dates']))
(将两列转换为一个元组,再加上lag运算符,将序列移位一)这一操作符合预期。非常感谢。这起作用了。很好的解决方案,谢谢!我不知道shift函数,但现在我将它添加到工具箱中。