[英]how to subset pandas dataframe on a condition
我有一个这样的熊猫数据框:
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
现在,我希望所有的buyer_id
它只有Veg
作为一餐类型,所有的buyer_id
其中有Veg and NonVeg
作为膳食类型和所有buyer_id
它只有NonVeg
作为膳食类型。
所以,
139 Veg
140 Veg and NonVeg
36 NonVeg
79 Veg and NonVeg
等等。 我正在Python中执行以下操作,以获取具有Veg
, NonVeg
或两者都有的所有买方ID。
segments_data.buyer_id[segments_data['meal_type']=='Veg' &
segments_data['meal_type']=='NonVeg']
但这行不通。 请帮忙。
通过分组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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.