标记本赛季的最后一天

卢卡什·特马

我的数据集有一个问题,我想标记出赛季的最后一天(折扣,不打折),我绝对没有想法。标记应为新变量(值-最后一天,标准日期)

data = {
    'start_day': [
        '2008-01-01',
        '2008-01-02',
        '2008-01-03',
        '2008-01-04', 
        '2008-01-05'
    ],
    'start_day_no': [
        1,
        2, 
        3,
        4, 
        5
    ],
    'Season': [
        'Discount',
        'Discount', 
        'No_discount', 
        'No_discount', 
        'Discount'
    ],        
}
frame = pd.DataFrame(data)

因此,如果我查看完整的数据集,我想标记折扣季节的最后一天(蓝色)和标准价格的最后一天(红色),但是条件是该季节至少持续20天(因此红色开始2016年不算作一个季节)。

在此处输入图片说明

有什么提示吗?谢谢!!!!

斯科特·波士顿

您可以按照以下步骤进行操作:

创建一年的模拟数据:

df = pd.DataFrame({'Season':['No_discount']*16+
                            ['Discount']*90+
                            ['No_discount']*202+
                            ['Discount']*25+
                            ['No_discount']*33}, 
                  index=pd.date_range('2016-01-01','2016-12-31', freq='D'))

df['grp'] = (df['Season'] != df['Season'].shift()).cumsum()

df['grp_size'] = df.groupby('grp').transform('count')

df.groupby('grp').tail(1).query('grp_size >= 20') #Filtering groups smaller than 20

输出:

                 Season  grp  grp_size
2016-04-15     Discount    2        90
2016-11-03  No_discount    3       202
2016-11-28     Discount    4        25
2016-12-31  No_discount    5        33

数据框的索引是每个组的最后日期。

df_out = df.groupby('grp').tail(1).query('grp_size >= 20')
df_out.index.strftime('%Y-%m-%d').tolist()

输出:

['2016-04-15', '2016-11-03', '2016-11-28', '2016-12-31']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何标记上周五或最后一天或一个月

来自分类Dev

在一天的最后一天增加一天

来自分类Dev

MySQL Select当年的最后一天

来自分类Dev

获取本月的最后一天

来自分类Dev

获取月中时间的最后一天。

来自分类Dev

选定季度的最后一天

来自分类Dev

如何获得本月的最后一天?

来自分类Dev

获取一天的最后输入的值

来自分类Dev

安排每月的最后一天

来自分类Dev

选定季度的最后一天

来自分类Dev

如何计算当月的最后一天?

来自分类Dev

本月最后一天的 iCAL 活动

来自分类Dev

如何计算最后一天的行数?

来自分类Dev

csvfile 中的每月最后一天

来自分类Dev

如何获取本月的最后一天和下个月的最后一天

来自分类Dev

在 php 中获取一周的第一天/最后一天?

来自分类Dev

获取每月的第一天(也是最后一天)-简化表达式

来自分类Dev

获取本月的第一天和最后一天

来自分类Dev

查找不在月份的第一天或最后一天的日期

来自分类Dev

在Go / Golang中获取当月的第一天和最后一天?

来自分类Dev

SQL SELECT本月的第一天和最后一天。

来自分类Dev

上个月在Redshift中的第一天和最后一天

来自分类Dev

Redshift-表格中每月的第一天和最后一天

来自分类Dev

如何获取当前周/月的第一天和最后一天

来自分类Dev

将一天添加到该月的最后一天

来自分类Dev

javascript获取上周的第一天和最后一天

来自分类Dev

获取上个月的第一天和最后一天?

来自分类Dev

使用Yii CDateTimeParser生成一天的最后一天的时间戳(23:59:59)

来自分类Dev

下个月的第一天和最后一天