在熊猫数据帧上使用 IF 命令



我有一个PandaDataframe,其中包含有关许多下订单及其时间的信息。此数据适用于上午 11:00 至凌晨 1:00 营业的餐厅。

数据帧的名称是"DfPayments"。

它有两列DfPayments['小时']和DfPayments['天'],其中包含有关下订单的日期和时间的信息。在汇总天数销售额时,午夜之后下达的一些订单将计入第二天的销售额中。因此,我想为小时创建一个新变量,并使用它来相应地调整销售额。但是,当我使用以下代码时,我收到错误。

if DfPayments['hour'] == 0:
DfPayments['newhour'] = DfPayments['newhour'] - 1

错误是:

---> 18 如果 DfPayments['hour'] == 0: 19 DfPayments['newhour'] = DfPayments['newhour'] - 1

1574 提高 ValueError("{0}的真值是模棱两可的。 " 1575 "使用 a.empty, a.bool(), a.item(), a.any() 或 a.all()." -> 1576 .格式(自我.名称)) 1577 1578布尔值=非零

使用布尔索引:

idx = DfPayments['hour']==0
DfPayments.loc[idx, 'newhour'] = DfPayments.loc[idx, 'newhour'] - 1

最新更新