2017-08-18 8 views
2

私はデータフレーム上で「order_id」という列にPythonのvalue_counts(sort=False)関数を使用していますが、出力の順序はデータがデータフレームに表示される順序とは異なります。例えば結果を並べ替えることなくパンダの値をカウントする

、私はdf['order_id'].value_counts(sort=False)を行う際に、結果の順序は、データフレームの順序は異なる(2398795,473747)など

データフレームは、次のようになります。

enter image description here

最終的な目標はこれです:各注文idに対して、その注文とdays_since事前注文のproduct_idsの数が必要です。

答えて

1

IIUC、使用groupbyagg

df.groupby('order_id', sort=False)\ 
    .agg({'product_id': 'size','days_since_prior_order': 'sum'}) 

出力:

  product_id days_since_prior_order 
order_id          
2398795   6     90.0 
473747    5     105.0 
2254736   5     145.0 
431534    2     56.0 
関連する問題