python - 按日期分组数据并在 python 中找到平均值

标签 python python-2.7 datetime pandas dataframe

我有以下数据:

            Date  Value
0    1/3/2014    778
1    1/4/2014   4554
2    1/5/2014     23
3    1/6/2014    767
4    1/7/2014    878
5    1/8/2014    678
6    1/9/2014     64
7   1/10/2014    344
8   1/11/2014   6576
9   1/12/2014    879
10  1/13/2014   5688
11  1/14/2014    688
12  1/15/2014   8799
13  1/16/2014   7899
14  1/17/2014     76
15  1/18/2014    868
16  1/19/2014   7976
17  1/20/2014   8679
18  1/21/2014   6976
19  1/22/2014     68
20  1/23/2014    754
21  1/24/2014    878
22  1/25/2014   9796
23  1/26/2014     57
24  1/27/2014    868
25  1/28/2014    868
26  1/29/2014   8778
27  1/30/2014    887
28  1/31/2014    765
29   2/1/2014     57

我想将数据分成一组连续 15 天,并求出这些值的平均值。我有一个天真的方法:

i = 15
j = 0
while i <= 30:
    X = data[j:i].mean()
    j = i
    i = i + 15
    print X

在 pandas 中使用 group by 是否有更好的方法?

最佳答案

试试这个:

df['Date'] = pd.to_datetime(df['Date'])
print(df.set_index('Date').groupby(pd.TimeGrouper('15D')).mean())

输出:

                  Value
Date
2014-01-03  2579.400000
2014-01-18  3218.333333

关于python - 按日期分组数据并在 python 中找到平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946265/

相关文章:

python - 如何插入字符串(Fri Nov 19 16 :23:54 +0800 2010) into a table field whose type is TIMESTAMP?

python - 从元类访问构造函数的参数

mysql - 使用 Unix TimeStamp 格式的数据计算每月行数的 SQL 查询

Python - 两个日期时间之间的数据子集

c# - 通过 DateTime 对象仅从 Controller 传递日期。尝试多种方式绑定(bind)时间

python - ~<type> 是做什么的?

python - 如何 "unpack"这个元组

python - 名称 'IntegrityError' 未定义 - 为什么我不能在此脚本上使用 'except: IntegrityError'?

python - shutil.move() 和 copy() 的问题

python-2.7 - gcloud 在 gcloud app deploy 中崩溃(SSLHandshakeError)