python—聚合时间戳以查看我在10;分钟时间间隔
我在一个jason文件中有一个日期列表,我喜欢汇总这些日期,看看在10分钟的时间间隔内我有多少个日期。。我认为熊猫的时间序列是我应该寻找的,但我很困惑!有什么想法吗 [更多详情] 当我使用pd.read_json加载json文件时;我只有一列;大约有10000行。每行都是pandas.tslib.Timestamp,例如“1970-01-01 20:12:16”。 理想情况下,我喜欢将这些时间戳分为10分钟的时间间隔;查看每个时间间隔中的时间戳数量,并绘制条形图(直方图)。您可以这样做 时间戳列上的第一个索引(如果尚未这样做):python—聚合时间戳以查看我在10;分钟时间间隔,python,pandas,time,series,Python,Pandas,Time,Series,我在一个jason文件中有一个日期列表,我喜欢汇总这些日期,看看在10分钟的时间间隔内我有多少个日期。。我认为熊猫的时间序列是我应该寻找的,但我很困惑!有什么想法吗 [更多详情] 当我使用pd.read_json加载json文件时;我只有一列;大约有10000行。每行都是pandas.tslib.Timestamp,例如“1970-01-01 20:12:16”。 理想情况下,我喜欢将这些时间戳分为10分钟的时间间隔;查看每个时间间隔中的时间戳数量,并绘制条形图(直方图)。您可以这样做 时间戳列
df.set_index('time', inplace=True)
添加数字列(您需要一些用于重新采样以进行聚合的内容):
最后根据需要重新采样:
df.resample('10T', how='sum')
我使用截断来执行此操作:
import random
import pandas as pd
import datetime as dt
ts = [dt.datetime.now() + dt.timedelta(minutes = random.randint(1000)) for _ in range(1000)]
df = pd.DataFrame(ts, columns = ['ts'])
def truncate(t):
return dt.datetime(month = t.month, day = t.day, year = t.year, hour = t.hour, minute = (55 / 10) * 10)
df.ts.map(truncate).value_counts()
会给你每10分钟的计数
2016-02-20 00:50:00 79
2016-02-19 23:50:00 75
2016-02-20 08:50:00 72
2016-02-19 21:50:00 70
...
编辑:
A.Leistra的方法要好得多,我也学到了一些东西。它通过上面的设置工作:
df.set_index('ts', inplace = True)
df['count'] = 1
df.resample('10T', how = sum).head()
count | ts
--- | ---
2016-02-19 21:00:00 5
2016-02-19 21:10:00 11
2016-02-19 21:20:00 17
2016-02-19 21:30:00 13
2016-02-19 21:40:00 11
那么,时间是如何编排的呢?到目前为止你试过什么?你必须给我们更多的工作机会。请看看这里,学习如何提出一个好问题:只是添加了更多细节。。
df.set_index('ts', inplace = True)
df['count'] = 1
df.resample('10T', how = sum).head()
count | ts
--- | ---
2016-02-19 21:00:00 5
2016-02-19 21:10:00 11
2016-02-19 21:20:00 17
2016-02-19 21:30:00 13
2016-02-19 21:40:00 11