2017-12-09 13 views
1

カラム['ID'、 'DATE'、 'VALUE']を持つデータフレームがあります。私が調達していたデータが入ってくるという方法は、私が重複価格をそれぞれ有する多くの重複IDを、持っている - そう、例えば、フレームはインデックスとカラムが別のデータフレームの値であるPandasデータフレームにデータを挿入する

ID Date Value 
a 1/1/17 2 
a 1/2/17 3 
a 1/3/17 4 
b 1/1/17 5 
b 1/2/17 6 
b 1/2/17 7 
私はフレーム場所を作った

で来ます日付はインデックス、ユニークなIDが列です、

ID = list(set(df['ID'])) 
DATE = list(set(df['DATE'])) 
newdf = pd.DataFrame(columns = ID, index = DATE).sort() 

を経由して私は今、DFから値を取得し、newdf [DATE] [ID]はからそれらの指標とまで一致するように、それを配置したいですdfと、私はループのためのいくつかの厄介なものなしでそれらをキャストする方法を見つけることができません - 良い方法がありますか?

答えて

3

私たちは、これが見事に機能combine_first + pivot_table

newdf.combine_first(pd.pivot_table(df,index='Date',columns='ID',values='Value',aggfunc='sum')) 
Out[442]: 
      a  b 
1/1/17 2.0 5.0 
1/2/17 3.0 13.0 
1/3/17 4.0 NaN 
+0

を使用して!私は合併によって得ることができる他のすべてを考えますが、これは完璧です。ありがとうございました! –

+0

@MichaelSchweitzer YW〜:-)ハッピーコーディング – Wen

+0

ニースの答え。しかし、なぜ 'combine_first'を使うのですか? 'pivot_table()'から目的の結果が得られたようです。 –

関連する問題