首页 > 其他分享 >1484. 按日期分组销售产品

1484. 按日期分组销售产品

时间:2023-08-14 14:34:30浏览次数:41  
标签:sell product 06 df 日期 2020 1484 date 分组

1484. 按日期分组销售产品

2023年8月14日09:49:54

1484. 按日期分组销售产品

简单

SQL Schema


Pandas Schema


Activities

+-------------+---------+
| 列名         | 类型    |
+-------------+---------+
| sell_date   | date    |
| product     | varchar |
+-------------+---------+
该表没有主键(具有唯一值的列)。它可能包含重复项。
此表的每一行都包含产品名称和在市场上销售的日期。

编写解决方案找出每个日期、销售的不同产品的数量及其名称。
每个日期的销售产品名称应按词典序排列。
返回按 sell_date 排序的结果表。
结果表结果格式如下例所示。

示例 1:

输入:
Activities 表:
+------------+-------------+
| sell_date  | product     |
+------------+-------------+
| 2020-05-30 | Headphone   |
| 2020-06-01 | Pencil      |
| 2020-06-02 | Mask        |
| 2020-05-30 | Basketball  |
| 2020-06-01 | Bible       |
| 2020-06-02 | Mask        |
| 2020-05-30 | T-Shirt     |
+------------+-------------+
输出:
+------------+----------+------------------------------+
| sell_date  | num_sold | products                     |
+------------+----------+------------------------------+
| 2020-05-30 | 3        | Basketball,Headphone,T-shirt |
| 2020-06-01 | 2        | Bible,Pencil                 |
| 2020-06-02 | 1        | Mask                         |
+------------+----------+------------------------------+
解释:
对于2020-05-30,出售的物品是 (Headphone, Basketball, T-shirt),按词典序排列,并用逗号 ',' 分隔。
对于2020-06-01,出售的物品是 (Pencil, Bible),按词典序排列,并用逗号分隔。
对于2020-06-02,出售的物品是 (Mask),只需返回该物品名。

通过次数

57K

提交次数

83.9K

通过率

67.9%

答案

import pandas as pd

def categorize_products(activities: pd.DataFrame) -> pd.DataFrame:

    df=activities.groupby('sell_date')['product'].agg(['nunique',lambda x:','.join(sorted(set(x)))])
    df.rename(columns={'nunique':'num_sold','<lambda_0>':'products'},inplace=True)
    df.reset_index(inplace=True)
    df.sort_values(by='sell_date',inplace=True)
    return df



    # result = activities.drop_duplicates().sort_values("product").groupby("sell_date",as_index=False)
    # df = result['product'].agg("count").rename(columns={"product":"num_sold"})
    # df["products"] = result['product'].apply(lambda x:','.join(x.values))[["product"]]

    # return  df

标签:sell,product,06,df,日期,2020,1484,date,分组
From: https://www.cnblogs.com/lmq886/p/17628553.html

相关文章

  • Java字符串转日期,当前日期后几天,前几天
    首先代码实现//设置当前日期的后七天Calendarcalendar=Calendar.getInstance();calendar.setTime(newDate());//设置当前日期calendar.add(Calendar.DATE,7);//增加7天,更改这里的数量就行DatenewDate=calendar.getTime();//获取新日期SimpleDateFormatdf1......
  • 【pandas小技巧】--日期相关处理
    日期处理相关内容之前pandas基础系列中有一篇专门介绍过,本篇补充两个常用的技巧。1.多列合并为日期当收集来的数据中,年月日等信息分散在多个列时,往往需要先合并成日期类型,然后才能做分析处理。合并多列转换为日期类型,可以直接用to_datetime函数来处理:importpandasaspddf......
  • sql日期表
    sethive.execution.engine=tez;withdatesas(selectdate_add("2000-01-01",a.pos)asdfrom(selectposexplode(split(repeat("o",datediff("2023-12-31","2000-01-01")),"o")))a)--insertoverwritetable......
  • fastjson配置统一的日期格式转换
    importcom.alibaba.fastjson.serializer.SerializeConfig;importcom.alibaba.fastjson.serializer.SerializerFeature;importcom.alibaba.fastjson.serializer.ToStringSerializer;importcom.alibaba.fastjson.support.config.FastJsonConfig;importcom.alibaba.fast......
  • 从Element日期组件源码中学到的两个工具方法
    最近翻到ElementUI的日期组件源码,看到一些处理日期的工具方法,挺有意思,平常没有注意到,特此记录下来。获取当前日期的前一天,后一天exportconstprevDate=function(date,amount=1){returnnewDate(date.getFullYear(),date.getMonth(),date.getDate()-amount);};......
  • 如何在C语言中进行日期和时间处理
    如何在C语言中进行日期和时间处理日期和时间处理在许多软件和应用程序中都是非常重要的功能。无论是计算两个日期之间的天数,还是计算某个日期是星期几,C语言提供了丰富的库函数和功能来满足这些需求。本文将介绍如何在C语言中进行日期和时间处理。18如何在C语言中进行日期和时间......
  • 统计指定日期之后的销量总数,基础牢不牢,看它就知道!
    1职场实例小伙伴们大家好,今天我们来考验一下大家对Excel基础知识掌握的牢不牢,问题是这样的:如何统计指定日期之后的销量总数?如下图所示:下图左表展示了某公司对应日期的某产品的销售量明细日数据,A列为日期,B列为销售量。我们想要在下图右表中统计4月8日之后的销售量汇总情况。2解题思......
  • 第七章 日期和时间
    第七章日期和时间7.1日期和时间类R中自带有三个日期和时间类:POSIXct、POSIXlt和Date。函数功能Sys.Date返回系统当前的日期。Sys.time返回系统当前的日期和时间。date返回系统当前的日期和时间(返回的值为字符串)。as.Date将字符串形式的日期值转换为......
  • 两个日期相减,计算工作天数(不含周六周日)
    两个日期相减,计算工作天数(不含周六周日) SET@strdate='20230804';SET@enddate='20230818';selectDATEDIFF(@enddate,@strdate)+1-DATEDIFF(ADDDATE(@enddate,INTERVAL1-DAYOFWEEK(@enddate)DAY),ADDDATE(@strdate,INTERVAL1-DAYOFWEEK(@strdate)DAY......
  • 【星球知识卡片】移动端高效率的分组网络都发展到什么程度了?
    大家好,欢迎来到我们的星球知识小卡片专栏,本期给大家分享分组卷积网络模型的发展现状。作者&编辑|言有三1卷积拆分的高效我们常见的卷积是一个二维的操作,即一个卷积核在图像上进行滑动。如果再考虑上各个通道间的信息融合,那么就是一个三维的操作,包含了通道,宽度,高度三个维度。如......