假设我有一个数据帧:
df = DataFrame({'ID': [1001,4003,1001, 4003, 7000, 7000],
'col_2': ['3', '8', '2', '1','7','9'],
'col_3': ['Steak','Chicken','Chicken','Steak','Chicken','Chicken']})
我想创建3个数据帧。 前两个是每个有鸡的ID的数据帧。第二个是所有有牛肉的身份证。这很简单:
dfsteak = df[~(df['col_3'] != 'Steak')]
dfchicken = df[~(df['col_3'] != 'Chicken')]
但是对于第三种情况,如果一个身份证一次没有鸡肉,另一次没有牛排,我想放弃任何一行。所以在这个例子中,它就是ID7000,他只点了鸡肉。但我该如何实现呢?你知道吗
与
any
一起使用filter
过滤掉ID 7000
这里有一个直观的方法。其思想是创建一个序列,通过
ID
将col_3
聚合到set
。你知道吗然后过滤映射的
set
何时不是{'Steak', 'Chicken'}
的超集。你知道吗相关问题 更多 >
编程相关推荐