2016-12-07 14 views
0

パンダのデータフレームに問題があります。パンダ:列の最初の行のみを選択してください

:(私は、結果として2つのカラムを持つデータフレームを取得したい)

 ID      type 
28030 LVE-188599    PPC 
28031 LVE-188599    PPC 
28032 LVE-188599    PPC 
28033 LVE-188599  Affiliate 
28034 LVE-188599    PPC 
28035 LVE-188599    PPC 
28036 LVE-188599    PPC 

と私はIDの同じグループ内のコラム「タイプ」の一意の値だけを選択したい:私はこのDFを持っています

 ID      type 
28030 LVE-188599    PPC 
28033 LVE-188599  Affiliate 
28034 LVE-188599    PPC 

どうすればいいですか? 私はSASで動作するように使用され、これは簡単に

data out; 
set in; 
by ID; 
if first.type; 
run; 

感謝をして解決することができます!

+1

入力と出力を一度再確認できますか? – Zero

+0

あなたの出力があなたの言っているものと一致しません。値が 'LVE-188599'のIDの場合、PPCとAffiliateという2つのユニークなタイプがあります。結果のデータフレームにはPPCが2回あります。 –

+0

はい、おそらく私は質問をしたときに正しいとは限りませんでした。出力は正しいですが、実際には一意の値は必要ありません。列 "type"の連続した等しい値をすべて削除する必要があります – Valerio

答えて

1
df.loc[(df.id != df.id.shift(1)) | (df.type != df.type.shift(1))] 

関連する問題