我有这个数据集
custID documentno quantity producttype
1 1281261658 3 accesories
1 1281261658 3 major
1 1281261658 3 accesories
2 0105162445 2 major
2 0105162445 2 major
3 0100848728 2 major
3 0100848728 2 accesories
4 0106075074 1 major
因此,我希望以一种我希望documentno中至少包含一个“附件”的方式过滤数据集。所以我想删除只包含“主要”的文档
custID = {1,1,1,2,2,3,3,4}
documentno = {1281261658,1281261658,1281261658,0105162445,0105162445,0100848728,0100848728,0106075074}
quantity = {3,3,3,2,2,2,2,1}
producttype = {'accesories','major','accesories','major','major','major','accesories','major'}
最终结果是:
id documentno quantity producttype
1 1281261658 3 accesories
1 1281261658 3 major
1 1281261658 3 accesories
3 0100848728 2 major
3 0100848728 2 accesories
我试过用if else,但我做不到
提前谢谢
这是我遵循的方法
首先在文档中创建另一列,其中包含不同产品类型的编号
然后删除仅使用MARGY的值
多谢各位
给定}:
pd.DataFrame
{请尝试以下操作:
df.loc[df.documentno.isin(df.documentno[df.producttype.eq('accesories')].unique()),:]
结果是:
使用
df.documentno[df.producttype.eq('accesories')]
作为过滤器,它返回具有一个或多个accesories
的documentno
值。 我假设数据集df
中的quantity
总是大于0但是,如果
quantity
可能为零:只需添加条件
df.quantity.gt(0)
:相关问题 更多 >
编程相关推荐