2016-09-10 2 views
1

パンダと一般的なPythonにはまだ自分自身が好きなので、これは簡単な質問です。可能であれば、基本的な行動を理解できるように、ライナーを1つも避けたいと思います! :)特定の列を集計してパンダパネルを「平坦化する」方法

私は4つの項目を持つPanelに結果データを取り込むことができました。私はほとんどのインベントリを終了四半期売上高を合計しますが、タイプを取って、ことによって、これを「フラット化」したいと思い、結局

Item '2015-03-31': 
Type  Quarterly Sales  Ending Inventory 
Shoes  123,456    50,000 
Purses  33,222     10,000 

Item '2015-06-30': 
Type  Quarterly Sales  Ending Inventory 
Shoes  12,744     56,000 
Purses  15,123     9,000 

Item '2015-9-30': 
Type  Quarterly Sales  Ending Inventory 
Shoes  15,998     35,000 
Purses  11,222     15,000 

Item '2015-12-31': 
Type  Quarterly Sales  Ending Inventory 
Shoes  12,000     45,000 
Purses  9,551     7,000 

:各項目のキーは、暦四半期です最近のエントリーであり、これをDataFrameに持っています。だから私のエンディングデータフレームは、このようなものになるだろう:

Type  Quarterly Sales  Ending Inventory 
Shoes  164,198    45,000 
Purses  69,118     7,000 

私は、このようなgrouby(例えばmypanel.groupby('Type').sum())としての機能を使用してみましたが、それは両方の四半期の売上高在庫を終了を合計することになった、私のに対し、 「最新の」の代わりに在庫を取りたいと考えています。このための簡単な「修正」は、結果のDataFrameを取得し、Ending Inventory列の最初の3四半期の合計を差し引くことですが、それは信じられないほど厄介なようです。

提案がありますか?

ありがとうございます! `mypanel.groupby( 'タイプ')AGGを:

+0

はこれを試してみてください。({ '四半期売上': '合計'、 '期末在庫': '最後'})' – MaxU

答えて

0
agg_dict = {'Quarterly Sales': 'sum', 'Ending Inventory': 'last'} 
pnl.to_frame().T.stack(0).groupby(level='Type').agg(agg_dict) 

enter image description here

関連する問題