我有一个Pandasdf,我需要一个函数,将返回名称和日期,如果这些值 最近三天都不在国防部
例如我的df1:
| date | name |
| ---------- | -------------- |
| 2022-08-05 | Alex |
| 2022-08-07 | Alex |
我试着用函数来解决:
def checker (table, name):
if len(table[table.names == name]) == 3:
msg = '\n All good'
else:
name_list = [*table['name'].unique()]
msg = '\n No data for:'
for name in name_list:
msg += f'\n {name}'
return msg
但是我怎样才能为msg中缺少的名字添加日期呢?或者也许可以优化我的功能?
在ouptup我需要一个消息的名称和日期,如果没有在我的df的那一天的datat:
2022-08-06 Alex
1条答案
按热度按时间v2g6jxz61#
这可以通过聚合函数来实现。
首先,按用户对条目进行分组:
然后计算条目数并获得每个用户的最后日期 (注意:这不是最初的要求):
要获取missing日期,需要将
"max"
替换为自定义函数:你可以过滤那些计数小于3的:
您的用户将在
res.index
中,日期将在res.date
中。