2016-03-22 17 views
0

私は以下のデータフレームを持っています。パンダ:2つの値を持つ列から最小値を取る

In [1]: df 
Out[1]: 
ID  datetime  impressions 
cc2 1/2/2016 12:00 1,200   
svd 1/2/2016 12:00 1,080    
xz4 1/2/2016 12:15 1,480  
xgb 1/2/2016 12:15 1,214   
xz4 1/2/2016 12:30 1,157  
x4y 1/2/2016 12:30 1,049 

私が欲しいもの、次のようになります。

In [1]: df 
Out[1]: 
ID  datetime  impressions   
svd 1/2/2016 12:00 1,080    
xgb 1/2/2016 12:15 1,214  
x4y 1/2/2016 12:30 1,049 

私は、これはGROUPBY(によって達成することができると思います)が、私はまだそれを達成することができていません。

私はあなたの所望の出力は、3行を持っていますが、次はあなたが何をしたいんなぜ感想値(何らかの理由で、これはどのようニールセン構造彼らのデータである。)

+0

へのインデックスに戻ったインデックスを使用しますが、OPERのロジックを説明してくださいすることができますation?つまり、3つの出力行があるのはなぜですか?ユニークな日付が2つしかない場合 – Yaron

+0

申し訳ありませんが編集しました。私はdatetimeの2番目の部分を間違って書きました。 – mburke05

答えて

2

不明確をフィルタリングするために使用できる追加の列が、残念ながらありません:

In [113]: 
df.loc[df.groupby('datetime')['impressions'].idxmin()] 

Out[113]: 
    ID  datetime impressions 
1 svd 1/2/2016 12:00  1.080 
5 x4y 1/2/2016 12:15  1.049 

基本的に、私たち「日時」に関するgroupbyと「感想」欄にidxminを呼び出し、メインDF

+0

申し訳ありませんが、私はインデックスを誤って書きました!あなたが応えていくうちに私は編集のプロセスでした。 – mburke05

+0

これは正しい結果ですか? – EdChum

+0

私はそう信じています。私はdatetimeカラムを今書き直していくつかのエラーをチェックしています。 SeriesGroupByオブジェクトの動作を説明できますか?私はこれまでに使用されたことを見たことがない。 – mburke05

関連する問題