gpt4 book ai didi

python - 如何在 pandas 中存储仅时间时间戳?

转载 作者:行者123 更新时间:2023-12-01 09:19:45 35 4
gpt4 key购买 nike

我有一个数据框df

user    timestamp  amount
us67 15:59:07 87
us90 17:12:19 10
us12 03:23:16 17

print(df.timestamp[0])
>>> datetime.time(15,59,7)

我想将所有时间划分为 1 小时间隔,因此总共 24 个间隔。但是,我收到 TypeError

df['timestamp'] = pd.cut(x=df['timestamp'], bins=24)
>>> TypeError: unsupported operand type(s) for +: 'datetime.time' and 'float'

但是,如果日期包含在 timestamp 列中,则该方法确实有效,但我想忽略日期并仅保留时间(用于稍后绘制):

user    timestamp                 amount
us67 2018-04-29 15:59:07.455 87
us90 2018-04-29 17:12:19.128 10
us12 2018-04-29 03:23:16.890 17

print(df.timestamo[0])
>>> Timestamp('2018-04-29 15:59:07.455000')

df['timestamp'] = pd.cut(x=df['timestamp'], bins=24)

使用上面的时间戳格式,可以进行分箱。但是我不希望时间戳或间隔中包含年份和日期。我只想关注一天中的某个时间。

有没有办法可以只使用一天中的时间来存储时间戳?最终的目标是仅使用一天中的小时而不是日期来绘制 df 的时间序列(timestampamount) - 所以如果有更好的方法,请提出。

最佳答案

我将使用 dt.hour 创建一个列,其中包含我的分箱时间

所以

df["binned_hours"] = pd.cut(df.timestamp.dt.hour, bins=24)

关于python - 如何在 pandas 中存储仅时间时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894962/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com