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

时间:2019-06-02 14:52:34

标签: python dataframe

我有一个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

1 个答案:

答案 0 :(得分:0)

使用布尔索引:

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