以及它们如何引起隐藏的故障
“愚人的错误为世人所知,但不为自己所知。智者的错误为自己所知,但不为世人所知。” — 查尔斯·卡勒布·科尔顿
不知道我们在编程中犯的错误并不一定使我们成为傻瓜。然而,这可能导致不期而至的后果。
有些错误就像钻石一样闪耀,可以从远处看到。即使你没有注意到它们,编译器(或解释器)也会通过抛出错误来告诉我们。
另一方面,存在一些“悄悄”的错误很难被注意到,但有可能造成严重问题。
它们不会导致任何错误,但会使函数或操作以与您想象的不同的方式执行。因此,结果会在您没有注意到的情况下发生变化。
我们将学习三种此类问题。
你是一家零售公司的数据分析师。你被要求分析最近一系列促销活动的结果。在这个分析中,一个任务是计算每个促销活动和总计的销售数量。
假设促销数据存储在一个DataFrame中,看起来像下面这样(在实际情况下肯定不会这么小):
如果您想跟着做一些示例,下面是创建此DataFrame的Pandas代码:
import pandas as pdpromotion = pd.DataFrame( { "promotion_code": ["A2", "A1", "A2", "B1", "A2", None, "A2", "B1", None, "A1"], "sales_qty": [34, 32, 26, 71, 44, 27, 64, 33, 45, 90], "price": [24.5, 33.1, 64.9, 52.0, 29.0, 47.5, 44.2, 25.0, 42.5, 30.0] })
计算每个促销代码的总销售数量非常简单。您只需要使用groupby
函数:
promotion.groupby("promotion_code").agg(…