2017-12-05 8 views
2

時系列行(重複と不幸を...)パンダはこのように見て、私はパートナーによって再構築したい、私はパンダのデータフレーム持って

Date  Partner Value 
2017-02-01 Partner1 150 
2017-03-01 Partner1 170 
2017-02-01 Partner2 160 
2017-03-01 Partner2 185 
2017-02-01 Partner1 40 
2017-03-01 Partner1 90 

に列を再構築:

Partner 2017-02-01 2017-03-01 
Partner1 150   170 
Partner2 160   185 
Partner1 40   90 

私はこれについてどうやって行くのですか?

答えて

2

は実は、私は必要な答えを見つけた:ここ

series = pd.pivot_table(data, values="Value", index="Partner", columns="Date") 
1

は代替ソリューションです:

出典DF:

In [143]: df 
Out[143]: 
     Date Partner Value 
0 2017-02-01 Partner1 150 
1 2017-02-01 Partner1 199 # NOTE: duplicated `Date` & `Partner` 
2 2017-03-01 Partner1 170 
3 2017-02-01 Partner2 160 
4 2017-03-01 Partner2 185 

ソリューション:

In [144]: df.groupby(['Partner','Date'])['Value'].mean().unstack().rename_axis(None).rename_axis(None, 1) 
Out[144]: 
      2017-02-01 2017-03-01 
Partner1  174.5  170.0 
Partner2  160.0  185.0 
+0

これはありません'Indexにはduplicaが含まれているのであなたは再現性のあるデータセットを提供できますか? – Laurent

+0

@Laurent、再現可能なデータセットを提供できますか? – MaxU

+0

いいえ、ビジネス上の理由からできませんが、問題は「パートナー」の名前の一部が重複していて、代替ソリューションが失敗したことです。 重複除外テーブルでメソッドを使用すると、完全に機能しました。 ただし、pivot_tableは煩わされませんでした。 – Laurent

関連する問題