获取大熊猫时间序列的时间跨度

时间:2019-04-30 14:41:47

标签: python pandas time-series

我正在尝试获取每组条目的时间跨度(时间序列)。条目未排序。在熊猫中,有没有比使用max-min更有效的方法?我已经尝试过timedelta和period函数,但它们不返回我需要的东西。

import pandas as pd
tt = pd.DataFrame([
[1,'2018-3-1' ],
[1,'2018-2-3' ],
[1,'2018-5-2' ],
[1,'2018-4-5' ],
[2,'2017-3-10' ],
[2,'2017-1-12' ],
[2,'2017-5-15' ],
[2,'2017-2-14' ]
],columns=['group','entry'])

tt.entry = pd.to_datetime(tt.entry)

tt.groupby('group')['entry'].apply(lambda x: max(x)-min(x))

# group
# 1    88 days
# 2   123 days
# Name: entry, dtype: timedelta64[ns]

1 个答案:

答案 0 :(得分:2)

这是ptpnumpy的一种方式

tt.groupby('group')['entry'].apply(np.ptp)
Out[773]: 
group
1    88 days
2   123 days
Name: entry, dtype: timedelta64[ns]