首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每周“团结一心”的奇怪结果

每周“团结一心”的奇怪结果
EN

Stack Overflow用户
提问于 2018-09-11 06:06:42
回答 1查看 39关注 0票数 1

以下是数据生成器代码,以及用于按周报( used )对我的问题进行分组的grouby函数:

代码语言:javascript
复制
import pandas as pd
import numpy as np

np.random.seed(100)

pd.options.display.max_rows = 1000
df = pd.DataFrame(np.random.randint(0,10,size=(600, 2)), columns=list('AB'))
df['date'] = pd.DataFrame(pd.date_range(start='1/1/2018', end='8/23/2019'))

df['weekofyear'] = df.date.dt.weekofyear
df['year'] = df.date.dt.year

df1 = df.groupby(['year', 'weekofyear']).agg({'A':'sum', 'B':'mean'})

下面是df的前10行:

代码语言:javascript
复制
    A   B   date    weekofyear  year
0   8   8   2018-01-01  1   2018
1   3   7   2018-01-02  1   2018
2   7   0   2018-01-03  1   2018
3   4   2   2018-01-04  1   2018
4   5   2   2018-01-05  1   2018
5   2   2   2018-01-06  1   2018
6   1   0   2018-01-07  1   2018
7   8   4   2018-01-08  2   2018
8   0   9   2018-01-09  2   2018
9   6   2   2018-01-10  2   2018
10  4   1   2018-01-11  2   2018

下面是df1的前10行:

代码语言:javascript
复制
year      weekofyear   A     B  
2018      1           31    3.375000
          2           30    4.285714
          3           26    4.142857
          4           37    3.142857
          5           19    6.142857
          6           34    4.142857
          7           30    4.142857
          8           43    4.571429
          9           35    5.142857
          10          24    4.000000

但是,df1中的第一行(对应于df的前7天)显示了A列的不正确的累积值(**显示31,这是不正确的,应该是30 **)。

8+3+7+4+5+2+1 = 30 8+3+7+4+5+2+1 != 31

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 06:10:39

2018-12-31中也存在问题,因为ISO week date

代码语言:javascript
复制
print (df[df['weekofyear'] == 1])

     A  B       date  weekofyear  year
0    8  8 2018-01-01           1  2018
1    3  7 2018-01-02           1  2018
2    7  0 2018-01-03           1  2018
3    4  2 2018-01-04           1  2018
4    5  2 2018-01-05           1  2018
5    2  2 2018-01-06           1  2018
6    1  0 2018-01-07           1  2018
364  1  6 2018-12-31           1  2018
365  5  5 2019-01-01           1  2019
366  2  0 2019-01-02           1  2019
367  9  3 2019-01-03           1  2019
368  4  7 2019-01-04           1  2019
369  4  7 2019-01-05           1  2019
370  9  4 2019-01-06           1  2019
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52269623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档