【问题标题】:Modify pandas dataframe cells by filtering datatime details通过过滤数据时间详细信息修改熊猫数据框单元格
【发布时间】: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

【问题讨论】:

  • 好的,你能把数据放成文本,我们可以复制一下

标签: python pandas timestamp


【解决方案1】:

为什么是groupby,你可以试试:

df.loc[df['Date'].dt.hour==23, 'value'] += 1

【讨论】:

  • 这太简单了,太棒了。谢谢!
猜你喜欢
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 2016-05-05
  • 1970-01-01
  • 2019-02-17
相关资源
最近更新 更多