我可以帮助您进行翻译。以下是您需要翻译的内容:
但是我无法想出如何保留时间戳,以便考虑到分组开始时的小时。
我有一个数据框架结构,其索引为时间戳:
neg neu norm pol pos date
time
1520353341 0.000 1.000 0.0000 0.000000 0.000
1520353342 0.121 0.879 -0.2960 0.347851 0.000
1520353342 0.217 0.783 -0.6124 0.465833 0.000
我从时间戳创建日期:
data_frame['date'] = [datetime.datetime.fromtimestamp(d) for d in data_frame.time]
结果:
neg neu norm pol pos date
time
1520353341 0.000 1.000 0.0000 0.000000 0.000 2018-03-06 10:22:21
1520353342 0.121 0.879 -0.2960 0.347851 0.000 2018-03-06 10:22:22
1520353342 0.217 0.783 -0.6124 0.465833 0.000 2018-03-06 10:22:22
我希望按小时分组,并获取所有值的平均值(除时间戳外),该时间戳应为组开始的小时。因此,这是我想要实现的结果:
neg neu norm pol pos
time
1520352000 0.027989 0.893233 0.122535 0.221079 0.078779
1520355600 0.028861 0.899321 0.103698 0.209353 0.071811
到目前为止,我最接近的方法是使用这个答案:
data = data.groupby(data.date.dt.hour).mean()
结果:
neg neu norm pol pos
date
0 0.027989 0.893233 0.122535 0.221079 0.078779
1 0.028861 0.899321 0.103698 0.209353 0.071811
但是我无法想出如何保留时间戳,以便考虑到分组开始时的小时。
data = data.groupby(data.date.dt.hour).mean()
可以做到这一点,但确实不能保留小时数。在这种情况下,为了保留小时数,您可以从日期时间索引中提取小时数并将其放入单独的列中进行分组:data['hour']=data.index.hour
- squarespiral