Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算事件之间的时间差_Python_Pandas - Fatal编程技术网

Python 计算事件之间的时间差

Python 计算事件之间的时间差,python,pandas,Python,Pandas,我有一个df df = pd.DataFrame({'State': {0: "A", 1: "B", 2:"A", 3: "B", 4: "A", 5: "B", 6 : "A", 7: "B"}, 'date': {0: '2016-10-13T14:10:41Z', 1: '2016-10-13T14:10:41Z', 2:'2016-10-13T15:26:19Z', 3: '2016-10-14T15:26

我有一个df

df = pd.DataFrame({'State': {0: "A", 1: "B", 2:"A", 3: "B", 4: "A", 5: "B", 6 : "A", 7: "B"}, 
               'date': {0: '2016-10-13T14:10:41Z', 1: '2016-10-13T14:10:41Z', 2:'2016-10-13T15:26:19Z',
                        3: '2016-10-14T15:26:19Z', 4: '2016-10-15T15:26:19Z', 5: '2016-10-18T15:26:19Z',
                        6 :'2016-10-17T15:26:19Z', 7: '2016-10-13T15:26:19Z'}}, columns=['State', 'date'])
我需要得到每个a事件和下一个b事件之间的平均时间。我试图用shift生成一系列的差异来平均它,但我不能完全让它工作


谢谢大家!

首先,将日期转换为日期时间,然后使用:

收益率:

0                 NaT
1     0 days 00:00:00
2     0 days 01:15:38
3     1 days 00:00:00
4     1 days 00:00:00
5     3 days 00:00:00
6   -1 days +00:00:00
7   -4 days +00:00:00
Name: date, dtype: timedelta64[ns]
如果你想要平均值,你可以做如下的事情

df.date.diff().mean() # or possibly df.date.diff().abs().mean()
# Timedelta('0 days 00:10:48.285714')
df.date.diff().mean() # or possibly df.date.diff().abs().mean()
# Timedelta('0 days 00:10:48.285714')