2017-08-22 1 views
0

IdVehicleでグループ化し、オークションに「救助された救助隊」と「救出救助API」の値のみを持つ車両のみを返送します。これらの2つのタイプ以外のオークションを持つ車両は除外されます。どうすればこれを達成できますか?パンダでグループ化した後に一致する文字列に基づいてデータをフィルタリングする

データ:

Id  Vehicle   Auction  Offer 
10 1984 Porsche 944  Copart    100 
10 1984 Porsche 944  Merged Salvage  200 
10 1984 Porsche 944  IAA    140 
11 2000 Chevrolet G3500 Copart    80 
11 2000 Chevrolet G3500 Merged Salvage  100 
11 2000 Chevrolet G3500 Merged Salvage API 120 
11 2000 Chevrolet G3500 SVP    130 
12 2001 Honda CRV  Merged Salvage  50 
12 2001 Honda CRV  Merged Salvage API 100 

予想される出力:

Id  Vehicle   Auction  Offer 
12 2001 Honda CRV  Merged Salvage  50 
12 2001 Honda CRV  Merged Salvage API 100 
+0

あなたはこれを解決するためのあなたの試みを見せていただけますか? –

答えて

1

私はdfGroupBy.transform続いdf.groupby操作は、それを行う必要があると考えている。

In [1097]: status = ['Merged Salvage', 'Merged Salvage API'] 

In [1098]: df[df.groupby(['Id', 'Vehicle']).Auction\ 
       .transform(lambda x: x.isin(status).min())] 
Out[1098]: 
    Id   Vehicle    Auction Offer 
7 12 2001 Honda CRV  Merged Salvage  50 
8 12 2001 Honda CRV Merged Salvage API 100 

使用状況のための述語をチェックpd.Series.isin

関連する問題