PythonDataFrames:计算在特定日期出现的值的数量,并根据条件删除

2024-09-20 22:53:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python和pandas完成我的作业。我的Datafrmae看起来像这样:

^{tb1}$

我想通过计算某个特定日期上有多少个是和否来确定该日期是否为假日——如果是的计数小于7,那么我会将该日期视为假日,并通过删除它将其从我的计算中排除

我正在考虑添加一个带有布尔值的假日列。我一直在网上寻找解决方案,但没有找到。我是Python新手,所以如果我说了什么愚蠢的话,我道歉


Tags: pandas作业解决方案计数我会新手tb1datafrmae
2条回答

我们可以将transform与groupby一起使用:

s = df["Business hours"].eq("Yes").groupby(df["Date"]).transform("Sum")
df[s >= 7]

尝试groupby筛选器功能:

def filter_rows(x):
    try:
        x['Business hours'].value_counts()['Yes'] >= 7
        return True
    except KeyError as e:
        return False
df = df.groupby('Date').filter(filter_rows)

相关问题 更多 >

    热门问题