2013-02-05 68 views
1

我有一個包含時間戳事件的熊貓數據框。每個事件都有一個開始時間和結束時間:python pandas:如何計算跨度間的流逝時間?

start end other_vars 
    100 120 ... 
    150 151 ... 
    160 170 ... 
    200 210 ... 

有沒有乾淨的方式來計算事件之間的時間(例如,前一事件的年底和本次活動的開始之間的跨度)的熊貓嗎?

start end between other_vars 
    100 120  NA ... 
    150 151  30 ... 
    160 170  9 ... 
    200 210  30 ... 

回答

2

我認爲最簡單的方法是從另一列中減去一個移位的列。移位功能正是這樣做的,它將數組移位一個索引的缺省值。

In [3]: df 
Out[3]: 
    start end 
0 100 120 
1 150 151 
2 160 170 
3 200 210 

In [4]: df.start - df.end.shift() 
Out[4]: 
0 NaN 
1 30 
2  9 
3 30 

In [5]: df['elapsed'] = df.start - df.end.shift() 

In [6]: df 
Out[6]: 
    start end elapsed 
0 100 120  NaN 
1 150 151  30 
2 160 170  9 
3 200 210  30 
+1

(A特技在一個數據幀讀的是使用'pd.read_clipboard(SEP = '\ S +')'。) –

+0

感謝您的提示!這將節省很多時間! – Zelazny7