python - 对列值进行分组 2 小时

标签 python loops dataframe

我有一个包含日期、时间、距离列的数据框。我想按每天 2 小时间隔的距离列进行分组。我已经检查了堆栈溢出中提出的问题,但它没有给我所需的输出。

我粘贴的示例代码来自堆栈溢出,但输出不符合预期。

uniquedate = np.unique(df2["Date"])
for i in uniquedate:
    data_new1 = df2[df2['Date']==i]
    data_new2 = data_new1[['Real_time', 'Distance_km']].copy()
    data_new2.index = pd.to_timedelta(data_new2.index.astype(str))
    data_new2 = data_new2.resample('2H').sum()
    print(data_new2)

                 Distance_km
00:00:00.000000   276.850844
                 Distance_km
00:00:00.000000   193.115217

我得到了这个输出,但这不是必需的

最佳答案

试试这个:

data_new2.groupby([data_new2.index,pd.TimeGrouper(freq='2H')]).sum()

请避免复制粘贴代码而导致堆栈溢出。通常,该解决方案不足以满足您的用例。而且它很懒。

编辑 将索引设置为日期时间或时间戳 a,然后进行简单的重新采样应该适合您。

import pandas as pd
idx = pd.date_range('2018-01-01', periods=5, freq='H')
ts = pd.Series(range(len(idx)), index=idx)
ts = ts.resample('2H').sum()

关于python - 对列值进行分组 2 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58128144/

相关文章:

c++ - 如何获得 vector 循环的整数位置

python - image_dataset_from_directory 比 flow_from_dataframe 快得多。如何加快速度?

Python Dataframe.resample() 从 datetimeindex 中删除时间

python - 添加多索引列的任何直接方法?

python - 在Python中将元素转换为CSS选择器

python - pickle 和编码问题

python - 如何禁用 Flask-Cache 缓存

iphone - 在Xcode中,哪种音频文件类型可以无缝循环?

c++ - 如何使 QStringList 迭代器从特定索引开始

python - 通过 Python 上的 REST API 创建 Windows Azure 服务