【发布时间】:2019-02-15 09:32:50
【问题描述】:
我有以下数据框
df = pd.DataFrame({'ItemType': ['Red', 'White', 'Red', 'Blue', 'White', 'White', 'White', 'Green'],
'ItemPrice': [10, 11, 12, 13, 14, 15, 16, 17],
'ItemID': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D']})
我想以 DataFrame 的形式获取 ItemID 仅包含“白色”ItemType 的记录(行)
我尝试了以下解决方案:
types = ['Red','Blue','Green']
~df.groupby('ItemID')['ItemType'].any().apply(lambda u: u in(types))
但这给了我一个不正确的结果(D 应该是 False)并且是一个系列的形式。
A False
B False
C True
D True
谢谢!
【问题讨论】:
标签: python pandas list lambda pandas-groupby