python - Pandas:计算日期之间的差异

标签 python datetime pandas

我有数据框

ID   date
111   11-11-2016
111   14-11-2016
111   17-11-2016
222   24-11-2016
222   27-11-2016

我需要计算每个ID的数据之间的差异。 我用的是

df['duration'] = df.groupby(['ID','date']).date.apply(lambda x: x - x.iloc[0])
idx = df.groupby(['ID'])['duration'].transform(max) == df['count date']

但它返回错误的结果。 我怎样才能得到理想的呢? 我需要得到

ID   count date
111    6
222    3

最佳答案

>>> df.groupby('ID')['date'].apply(lambda x: x.max() - x.min())
ID
111   6 days
222   3 days

也可以使用numpy.ptp

>>> df.groupby('ID')['date'].agg(np.ptp)
ID
111   6 days
222   3 days

关于python - Pandas:计算日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613313/

相关文章:

PHP 和系统日期不同

python - 向 pandas 的每一列添加特定数量

python - 如何在 Python 中向后添加?

python - 在 spaCy 中使用不同的 word2vec 训练数据

c# - 从字符串 DateTime 中解析月份和日期

c# - 如何以格式 23 :59:59 转换日期时间

python - 访问 pandas dataframe 的正确方法

Pandas 逐列删除重复值

python - Python-使用GET流式传输Youtube视频

python - 两个列表值的组合