python - DateTime索引不唯一且对应值相同时重采样

标签 python pandas

我有以下 df 数据框(pandas):

           attribute
2017-01-01         a
2017-01-01         a
2017-01-05         b
2017-02-01         a
2017-02-10         a

其中第一列是一个非唯一的 datetime 索引,我想每周计算 a 和 b 的数量。如果我尝试 df.attribute.resample('W').count() 将会出现错误,因为条目重复。

我该怎么做?

最佳答案

df=df.reset_index()    
df.groupby([df['index'].dt.week,'attribute']).count()
Out[292]: 
                 index
index attribute       
1     b              1
5     a              1
6     a              1
52    a              2

或者

df.groupby([df.index.get_level_values(0).week,'attribute'])['attribute'].count()

Out[303]: 
    attribute
1   b            1
5   a            1
6   a            1
52  a            2
Name: attribute, dtype: int64

关于python - DateTime索引不唯一且对应值相同时重采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635765/

相关文章:

python - 将复数值分配给 numpy 数组?

python - 在 Pandas 中重新编制索引时删除不必要的行

python - 将两个时间序列与 tz 感知的日期时间索引结合起来

python - 包含 Pandas 查询的函数只有在导入时才能找到局部变量

python - 如何在多索引 Pandas Dataframe 中按组更新前 N 行的值?

python 循环导入并检查变量

python - 在 urllib2 中缓存?

python - 在 Python 中,%25s、%28s、%15s、%3s 等是什么意思?

python - 将 Pandas Dataframe 中的选择列转换为 Numpy 数组

python - 如何循环设置不同的变量到函数的输出?