【发布时间】:2021-01-16 01:16:33
【问题描述】:
我知道有几种方法可以解决这个问题,但我想实施最有效的方法。
在给定条件的情况下,我需要向特定数据框行添加 1 或 2。我已经创建了一个布尔值掩码。调整后的列将是预测。
代码如下:
df = pd.DataFrame({'Date': preds_date,
'HE': HE_results,
'Predictions': y_pred})
#adjust model to capture peaks better
adjustHours = [6, 7, 15]
adjustHours_2 = [16, 17, 18, 19]
add1 = df['HE'].isin(adjustHours)
基本上 - 我正在查看每小时数据,如果布尔值为 True,那么我想将预测列调整 1 或 2 - 取决于是在第一个数组还是第二个数组中。
这里的 add1 是 True 和 False 的布尔掩码,在这种情况下,如果小时是 6,7 或 15,则为 True。
谢谢!
【问题讨论】:
-
应该类似于
df.loc[add1, 'Predictions'] += 1。第二个列表类似。也应该非常有效,但您应该对其进行测试。