2016-01-27 135 views
1

我有一個熊貓數據幀是這樣的:如何子集大熊貓數據幀上的條件

buyer_id meal_type 
    139  Veg 
    140 NonVeg 
    140  Veg 
    36 NonVeg 
    79  Veg 
    79 NonVeg 
    79 NonVeg 
    72 NonVeg 
    72 NonVeg 
    65 NonVeg 
    65  Veg 

現在我想一切只有Veg作爲膳食類型將buyer_id,所有這些具有Veg and NonVeg作爲膳食類型的buyer_id以及僅有NonVeg作爲膳食類型的所有buyer_id

所以,

139 Veg 
140 Veg and NonVeg 
36 NonVeg 
79 Veg and NonVeg 

等。我在Python中執行以下操作以獲取所有具有VegNonVeg或兩者的買方ID。

segments_data.buyer_id[segments_data['meal_type']=='Veg' &  
segments_data['meal_type']=='NonVeg'] 

但它不起作用。請幫忙。

回答

1

分組由buyer_id和轉換meal_type成一組作品:

>>> df.groupby('buyer_id')['meal_type'].apply(set).str.join(' and ') 

    buyer_id 
36    NonVeg 
65  Veg and NonVeg 
72    NonVeg 
79  Veg and NonVeg 
139    Veg 
140 Veg and NonVeg 
Name: meal_type, dtype: object 
+0

穆勒真棒。非常感謝..解決了我的問題。 – Neil