【发布时间】:2020-06-26 14:36:59
【问题描述】:
我有一个这样设置的数据框。
Date Daily Risk Score
0 2020-06-26 6.0
1 2020-06-27 6.0
2 2020-06-28 6.0
3 2020-06-29 6.0
4 2020-06-30 6.0
5 2020-07-01 6.0
6 2020-07-02 6.0
7 2020-07-03 6.0
8 2020-07-04 6.0
9 2020-07-05 6.0
10 2020-07-06 6.0
11 2020-07-07 6.0
12 2020-07-08 6.0
13 2020-07-09 6.0
14 2020-06-26 6.0
15 2020-06-27 6.0
16 2020-06-28 6.0
17 2020-06-29 6.0
18 2020-06-30 6.0
19 2020-07-01 6.0
20 2020-07-02 6.0
21 2020-07-03 6.0
22 2020-07-04 6.0
23 2020-07-05 6.0
24 2020-07-06 6.0
25 2020-07-07 6.0
26 2020-07-08 6.0
27 2020-07-09 6.0
我想取整个数据帧(50k+ 个条目)中所有相似天数的平均值。如何遍历每个日期,然后在末尾创建一列,列出 14 个值,这些值对应于每天的平均值?
预期的输出是:
Date Daily Risk Score Mean
0 2020-06-26 6.0 a
1 2020-06-27 6.0 b
2 2020-06-28 6.0 c
3 2020-06-29 6.0 ...
4 2020-06-30 6.0
5 2020-07-01 6.0
6 2020-07-02 6.0
7 2020-07-03 6.0
8 2020-07-04 6.0
9 2020-07-05 6.0
10 2020-07-06 6.0
11 2020-07-07 6.0
12 2020-07-08 6.0
13 2020-07-09 6.0
14 2020-06-26 6.0
15 2020-06-27 6.0
16 2020-06-28 6.0
17 2020-06-29 6.0
18 2020-06-30 6.0
19 2020-07-01 6.0
20 2020-07-02 6.0
21 2020-07-03 6.0
22 2020-07-04 6.0
23 2020-07-05 6.0
24 2020-07-06 6.0
25 2020-07-07 6.0
26 2020-07-08 6.0
27 2020-07-09 6.0
其中 a 代表 6-26 日所有每日风险评分的平均值。 B 是 6-27 的平均值,以此类推。
【问题讨论】:
-
df.Value.iloc[::3].mean()? -
对于所有行,以这种方式对它们进行分组?请分享预期输出
-
那我该如何进入下一组呢?假设我想从第二个值 (2) 开始。会是 df['Value'].iloc[1:3].mean() 吗?
-
它必须适用于所有行@Ch3steR
-
语法为 df['Value'].iloc[start:stop:step],所以 df.iloc[::3] 从 0 开始,在行尾停止并迭代 3 项一次。要从第 2 行开始,请使用 df.iloc[1::3] (从索引 1/第 2 行开始,一次迭代 3 个项目直到行结束)
标签: python pandas numpy dataframe