我有一个数据框 (df),其中包含两行,每个“名称”有多个条目:
name date
Official Press FRC 2015-02-19 20:30:00.000
Other Publications BOJ 2015-04-16 07:00:00.000
Bank of Russia 2015-06-11 09:44:37.000
我想找到每个“名称”的“日期”的最大差异。我的方法是尝试对日期进行排序,同时按名称分组,然后使用 .diff() 求差。下面是我尝试过的代码:
grouped = df.sort_values('date').groupby('name')
differences = grouped.diff()
我还尝试通过构建数据透视表来解决该问题:
grouped = df.pivot(columns='name', values='date')
最佳答案
我认为您需要使用 diff
和 max
来实现最大时间增量的自定义函数:
#if necessary convert to datetime
df['date'] = pd.to_datetime(df['date'])
df1 = df.sort_values('date')
.groupby('name')['date'].apply(lambda x: x.diff().max())
.reset_index(name='max_diff')
关于python - 对数据进行排序并应用 groupby 后查找最大时间增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934870/