我有一个 PandaDataframe,其中包含有关所下订单及其时间的信息。此数据适用于上午 11:00 至凌晨 1:00 营业的餐厅。
数据帧的名称是“DfPayments”。
它有两列 DfPayments['hour'] 和 DfPayments['day'],其中包含有关下订单的日期和时间的信息。汇总当日销售额时,午夜后下的一些订单将计入接下来几天的销售额。因此,我想为小时创建一个新变量,并用它来相应地调整销售额。但是,当我使用以下代码时出现错误。
if DfPayments['hour'] == 0:
DfPayments['newhour'] = DfPayments['newhour'] - 1
错误是:
---> 18 if DfPayments['hour'] == 0: 19 DfPayments['newhour'] = DfPayments['newhour'] - 1
1574 raise ValueError("The truth value of a {0} is ambiguous. " 1575 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." -> 1576 .format(self.class.name)) 1577 1578 bool = nonzero
最佳答案
使用 bool 索引:
idx = DfPayments['hour']==0
DfPayments.loc[idx, 'newhour'] = DfPayments.loc[idx, 'newhour'] - 1
关于python - 在 panda Dataframe 上使用 IF 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56416128/