python - 条目在一年内至少两个不同的月份出现在每个索引中
问题描述
索引日期(dd.mm.yy)
A 1.1.20
A 1.2.20
B 1.1.20
B 5.5.21
C 1.1.20
C 10.1.20
D 1.1.20
D 10.1.20
D 10.5.20
我想看看在一年内至少两个不同的月份中每个索引是否出现一个条目
所以对于索引 A ,D 的答案是 True 而对于 B, C 是 False 预期输出:
A 真
B 假
C 假
D 真
我可以通过使用 Grouper 轻松查看它是否出现在至少两个不同的月(或年)内
df.groupby([index, pd.Grouper(freq='M', key='date]).agg('count')
看看计数是否 > 0
但是我怎样才能轻松地检查这两个条件是否适用?
我尝试创建自己的 agg 函数或使用 Grouper。
解决方案
df_per_month = pd.DataFrame.from_dict(df.groupby([index, df.date.dt.year, df.date.dt.month]).groups.keys())
df_max_entries_in_a_year = df_per_month.groupby([0,1]).agg('count').reset_index().groupby([0])[2].agg('max')
推荐阅读
- vba - 更改修订视图后不正确的段落样式属性
- python - 如何使碰撞更具 OOP 风格
- git - Git - 从父存储库中提取时如何处理本地重命名文件中的更改
- java - 为什么 ChronoLocalDate 和 ChronoLocalDateTime 被设计成完全不同的接口?
- java - 如何停止在 java 组合框中复制项目
- data-structures - 这段代码的空间复杂度是多少
- python - 使用 pytorch (LSTM) 预测未来 60 天
- postgresql - 护照书架没有将用户插入数据库
- reactjs - Typescript + Jest:导入在 jest 与开发模式中是不同的
- c# - Azure 应用服务限制 - 允许应用服务 A 用于应用服务 B