首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在熊猫数据中添加基于日期条件的具有价值的列?

如何在熊猫数据中添加基于日期条件的具有价值的列?
EN

Stack Overflow用户
提问于 2022-01-19 09:58:00
回答 1查看 489关注 0票数 1

我有下面的示例列的dataframe。

我在日期栏中有每日数据。我想根据日期添加一个具有特定值的列。

如果日期在29之前,那么它应该将12/29之前的值包含到新的日期范围列中,30之后意味着它应该包含在12/30之后,与其他列相同。

代码语言:javascript
复制
Date        product        result
12/27/2021  tv              6
12/27/2021  tv             38
12/27/2021  tv             2
12/28/2021  broadband      5        
12/29/2021  tv             6                
12/30/2021  broadband      7
12/30/2021  tv             10
12/31/2021  broadband      48
01/06/2022  broadband      48

Expected output



Date          day_range         product        result
12/27/2021    before 12/29      tv              6
12/27/2021    before 12/29      tv              38
12/27/2021    before 12/29      tv              2
12/28/2021    before 12/29      broadband       5       
12/29/2021    29-Dec            tv              6               
12/30/2021    30-Dec            broadband       7
12/30/2021    30-Dec            tv              10
12/31/2021    After 12/30       broadband       48
01/06/2022    After 12/30       broadband       4

有什么方法可以达到这个目的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-19 10:07:47

使用numpy.select

代码语言:javascript
复制
df['Date'] = pd.to_datetime(df['Date'])

 
df['day_range'] = np.select([df['Date'].lt('2021-12-29'),  
                             df['Date'].gt('2021-12-30')], 
                            ['before 12/29','After 12/30'], 
                            default=df['Date'].dt.strftime('%d-%b'))

print (df)
        Date    product  result     day_range
0 2021-12-27         tv       6  before 12/29
1 2021-12-27         tv      38  before 12/29
2 2021-12-27         tv       2  before 12/29
3 2021-12-28  broadband       5  before 12/29
4 2021-12-29         tv       6        29-Dec
5 2021-12-30  broadband       7        30-Dec
6 2021-12-30         tv      10        30-Dec
7 2021-12-31  broadband      48   After 12/30
8 2022-01-06  broadband      48   After 12/30
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70768534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档