2016-06-20 40 views
1

私はlike thisPythonのパンダ - GROUPBY内部反復処理は、時間差

顧客番号が各顧客に固有ですが、再び顧客訪問場合は繰り返さ見てパンダのデータフレームを持っているを見つけます。 私は顧客番号をグループ化したいと思います。その後、各groupbyオブジェクトで、訪問間隔を調べる必要があります。

だから、私はこのようにそれを行う..

df['Date'] = pd.to_datetime(df['Date'], format='%d %b %y') 
grouped = df.groupby('Customer no') 

私の質問は、私がグループ化された行を反復処理すると、後続の訪問の間に時間(日数)を見つけるのですか、 です。

答えて

1

は、私はあなたがdiffgroupbyが必要だと思う:

print (df.groupby('Customer no')['Date'].diff()) 
13  NaT 
22 0 days 
26 0 days 
Name: Date, dtype: timedelta64[ns] 

#if need convert days to numeric 
print (df.groupby('Customer no')['Date'].diff()/np.timedelta64(1, 'D')) 
13 NaN 
22 0.0 
26 0.0 
Name: Date, dtype: float64 

Frequency conversion