我有一个PandaDataframe,其中包含有关许多已下订单及其时间的信息。此数据适用于从11:00 am-1:00 am开始营业的餐厅。
dataFrame的名称为“ DfPayments”。
它有两列DfPayments ['hour']和DfPayments ['day'],其中包含有关下订单的日期和小时的信息。在汇总日销售量时,在午夜之后下达的某些订单将在第二天的销售中计算。因此,我想为小时创建一个新变量,并使用它来相应地调整销售额。但是,当我使用以下代码时,出现错误。
if DfPayments['hour'] == 0:
DfPayments['newhour'] = DfPayments['newhour'] - 1
错误是:
--->如果DfPayments ['hour'] == 0,则为18: 19 DfPayments ['newhour'] = DfPayments ['newhour']-1
1574引发ValueError(“ {0}的真值不明确。 “ 1575”使用a.empty,a.bool(),a.item(), a.any()或a.all()。” -> 1576 .format(self。 class 。 name ))1577 1578 bool = nonzero
答案 0 :(得分:0)
使用布尔索引:
idx = DfPayments['hour']==0
DfPayments.loc[idx, 'newhour'] = DfPayments.loc[idx, 'newhour'] - 1