我对StackOverflow、python和pandas都是新手,我只是在探索编码的思维过程。我从来没有问过一个问题,所以我很抱歉,如果我弄乱了提问的格式
我的场景是,我有一个产品列表,作为一个数据帧,我将它与另一个名为ordered\u products的表(join)合并,使用product\u ID作为互键
这个数据集的问题是,有多少订单只有有机产品? 现在,当有人订购杂货时,一个订单ID可以有多个条目
我正在尝试编写一个循环伪代码:
counter = 0
break the table to group by order_id
For each group{
For each index within the group{
If (name of product) has the word "organic"
{x = true}
else
{x = false}
}
If x = true,
{add 1 to counter}
}
最后的计数器应该是只有“有机”产品的唯一订单的总数量
示例:
Order_id | Name |
1 organic bread
1 organic beans
1 regular milk
2 organic milk
2 organic lettuce
3 regular orange
3 regular bread
Output: counter = 1
出于某种原因,我就是搞不懂它,甚至无法将它应用到代码中! 我希望这有道理!如果有人能帮忙,我将不胜感激
用途:
详细说明:
如果匹配的} 进行Tirst测试:
organic
输出是布尔掩码,则通过^{然后使用^{} 检查每个组的所有
True
:sum
的True
最后计数数:或者另一个aprioach是get all
Order_id
if not containsorganic
value by~
for invert mask,然后减去集合并检查其长度:相关问题 更多 >
编程相关推荐