【发布时间】:2019-09-16 06:17:07
【问题描述】:
我有一个数据集,其索引、时间戳和一个值存储在 pandas 数据框中的三个单独列中,例如:
我想过滤时间戳小时等于 23 的行,并为下一列中的值添加一个标量。我怎样才能有效地做到这一点?数据集中的索引列设置不正确,我不能依赖它。
目前,我正在使用 for 循环遍历行,检查时间戳中的小时是否等于 23,并修改相应单元格中的值,但这需要很多时间。我尝试使用下面建议的here .groupby 方法,但这似乎不起作用。它对数据进行了两次操作,保持数据不变并抛出 SettingWithCopyWarning。这是我尝试的。不过,我不确定这是否是最好的方法:
for index, data_slice in df.groupby(df["Date"].dt.hour == 23):
data_slice.loc["value"] += 1
【问题讨论】:
-
好的,你能把数据放成文本,我们可以复制一下