Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python—聚合时间戳以查看我在10­;分钟时间间隔_Python_Pandas_Time_Series - Fatal编程技术网

python—聚合时间戳以查看我在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分钟的时间间隔;查看每个时间间隔中的时间戳数量,并绘制条形图(直方图)。您可以这样做 时间戳列

我在一个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