将奇数天和偶数天分组
Grouping odd and even days
我有一个 pandas 数据框如下
data
Out[8]:
value1
Date
2015-03-31 09:53:53.800 NaN
2015-03-31 10:28:54.700 1.34
2015-03-31 10:34:35.720 NaN
2015-03-31 10:36:53.540 1.26
2015-04-01 11:37:11.620 1.44
2015-04-01 11:39:30.520 NaN
2015-04-01 11:50:25.620 1.76
2015-04-02 11:50:30.620 1.38
2015-04-02 12:31:20.220 1.76
2015-04-02 12:37:43.940 2.36
2015-04-03 12:38:45.820 1.46
2015-04-03 12:41:56.680 2.26
2015-04-04 13:04:50.740 1.16
2015-04-05 12:38:45.820 1.46
2015-04-05 12:41:56.680 2.26
2015-04-05 13:04:50.740 1.16
我想计算属于第 0-2-4 天的值的平均值和属于第 1-3-5 天的值的平均值
我怎样才能在日期上使用 groupby 来做到这一点?
df2 = data.groupby(?).agg(np.mean)
试试这个:
In [7]: df2 = data.groupby(data.index.day % 2).agg(np.mean)
In [8]: df2
Out[8]:
value1
Date
0 1.665
1 1.600
解释:
In [9]: data.index.day
Out[9]: Int64Index([31, 31, 31, 31, 1, 1, 1, 2, 2, 2, 3, 3, 4, 5, 5, 5], dtype='int64', name='Date')
In [10]: data.index.day % 2
Out[10]: Int64Index([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1], dtype='int64', name='Date')
我有一个 pandas 数据框如下
data
Out[8]:
value1
Date
2015-03-31 09:53:53.800 NaN
2015-03-31 10:28:54.700 1.34
2015-03-31 10:34:35.720 NaN
2015-03-31 10:36:53.540 1.26
2015-04-01 11:37:11.620 1.44
2015-04-01 11:39:30.520 NaN
2015-04-01 11:50:25.620 1.76
2015-04-02 11:50:30.620 1.38
2015-04-02 12:31:20.220 1.76
2015-04-02 12:37:43.940 2.36
2015-04-03 12:38:45.820 1.46
2015-04-03 12:41:56.680 2.26
2015-04-04 13:04:50.740 1.16
2015-04-05 12:38:45.820 1.46
2015-04-05 12:41:56.680 2.26
2015-04-05 13:04:50.740 1.16
我想计算属于第 0-2-4 天的值的平均值和属于第 1-3-5 天的值的平均值 我怎样才能在日期上使用 groupby 来做到这一点?
df2 = data.groupby(?).agg(np.mean)
试试这个:
In [7]: df2 = data.groupby(data.index.day % 2).agg(np.mean)
In [8]: df2
Out[8]:
value1
Date
0 1.665
1 1.600
解释:
In [9]: data.index.day
Out[9]: Int64Index([31, 31, 31, 31, 1, 1, 1, 2, 2, 2, 3, 3, 4, 5, 5, 5], dtype='int64', name='Date')
In [10]: data.index.day % 2
Out[10]: Int64Index([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1], dtype='int64', name='Date')