![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pandas每日一练
文章平均质量分 83
伪编辑科学家
喜欢研究数据分析和数据管理。从零开始的小白博主。
展开
-
[每日一练]计算特殊奖金(loc查询函数的应用)
数据集.loc[查询条件,指定列]查询条件和指定列可以是多个,其中查询条件中不可以使用and和or等形式的逻辑符号,因为这种类型的符号在python中有明确的优先级,在这里容易造成语法混乱,我们可以使用 &、| 等符号进行逻辑判断。在切片查询和query函数中同理。原创 2024-07-06 10:30:10 · 242 阅读 · 0 评论 -
[每日一练]每个产品在不同商店的价格
抱歉各位,期末周的任务比较多,最近都没空刷数据类编程的题了,在接下来的暑假中,我会坚持保持训练和更优质的更新的。原创 2024-07-05 20:08:36 · 479 阅读 · 0 评论 -
[每日一练]利用左右指定键连接实现经理的下属员工数量
该题目难在我们可能不会想到左右的指定键位连接,从而使进程陷入停滞。还是要多加练习,把各种连接内化于心,才可以更从容的面对更多复杂的需求。原创 2024-06-18 16:52:47 · 550 阅读 · 0 评论 -
[每日一练]求关注者的数量与姓名聚合拓展
该题目来源于力扣:表:Followers(user_id, follower_id) 是这个表的主键(具有唯一值的列的组合)。该表包含一个关注关系中关注者和用户的编号,其中关注者关注用户。编写解决方案,对于每一个用户,返回该用户的关注者数量。按user_id的顺序返回结果表。查询结果的格式如下示例所示。Followers 表:0 的关注者有 {1}1 的关注者有 {0}2 的关注者有 {0,1}代码实现很简单,分组聚合,用agg自带的操作参数count可以很轻松的统计人数。原创 2024-06-13 09:54:08 · 411 阅读 · 0 评论 -
[每日一练]查询独特的领导和合伙人的数量
在 2020-12-8,丰田(toyota)有领导者 = [0, 1] 和合伙人 = [0, 1, 2] ,同时本田(honda)有领导者 = [1, 2] 和合伙人 = [1, 2]。在 2020-12-7,丰田(toyota)有领导者 = [0] 和合伙人 = [1, 2] ,同时本田(honda)有领导者 = [0, 1, 2] 和合伙人 = [1, 2]。首先我们依次对时间和产品名字进行分组,然后用聚合函数找出独特的字符串,重置索引。该表包含日期、产品的名称,以及售给的领导和合伙人的编号。原创 2024-06-13 09:36:06 · 727 阅读 · 0 评论 -
[每日一练]利用.str.len()布尔值查询实现字数需求
看到字数要求,第一反应就是pandas特有的.str.len()函数来查询字数,但是注意,该函数返回的是布尔值,是一个pandas.Series对象,通常用来进行索引匹配。推文 1 的长度 length = 14。推文 2 的长度 length = 32。查询所有无效推文的编号(ID)。当推文内容中的字符数。在 SQL 中,tweet_id 是这个表的主键。这个表包含某社交媒体 App 中所有的推文。时,该推文是无效的。原创 2024-06-11 14:35:46 · 564 阅读 · 0 评论 -
[每日一练]首字母的大写和pandas关于字符串操作的代码拓展
功能强大的pandas库可以对字符串类型的数据做多样的操作,接下来我做一个拓展补充。原创 2024-06-10 14:43:19 · 264 阅读 · 0 评论 -
[每日一练]每台机器的进程平均运行时间
表中的数据没有顺序可言,必须要对它就像排序,原先排序machine_id列,使得每个机器区分开来,其次排序process_id,将每个工作区分开来,最后排序timestamp,对后续的diff()函数遍历打下基础,区分开开始和结束的时间。然后,按照machine_id列和process_id列进行分组,使得每个机器和每个机器的每个工作区分开来。简单来说就是machine_id列表示每个机器的编号,process_id表示每个工作的编号,现在我们要查询出每个机器的的每个工作的时间长度的平均。原创 2024-06-10 14:00:51 · 743 阅读 · 0 评论 -
[每日一练]各赛事的用户注册率
该题目来自力扣。原创 2024-06-10 12:48:42 · 748 阅读 · 0 评论 -
[每日一练]银行账户概要(分组聚合与重命名)
首先将两个表连接为一个表,之后按照name进行分组和amount列进行聚合,因为体重只要求改变amount列的列名,所以在分组聚合后可以直接用reset_index函数的内置参数name进行重命名,然后用query函数查找条件即可。编写解决方案, 报告余额高于 10000 的所有用户的名字和余额. 账户的余额等于包含该账户的所有交易的总和。注意:在更改列名时,rename函数内部的字典要前置一个特殊参数columns才可以起到更改列名的作用。account 是该表的主键(具有唯一值的列)。原创 2024-06-07 00:12:08 · 1164 阅读 · 0 评论 -
[每日一练]关于进店却未消费的顾客的查询
如我们所见,ID 为 30 和 96 的顾客一次没有进行任何交易就去了购物中心。在 2 次访问中,他们没有进行任何交易,在 1 次访问中,他们进行了 3 次交易。ID = 23 的顾客曾经逛过一次购物中心,并在 ID = 12 的访问期间进行了一笔交易。ID = 9 的顾客曾经逛过一次购物中心,并在 ID = 13 的访问期间进行了一笔交易。ID = 30 的顾客曾经去过购物中心,并且没有进行任何交易。ID = 96 的顾客曾经去过购物中心,并且没有进行任何交易。该表包含有关光临过购物中心的顾客的信息。原创 2024-06-04 14:29:53 · 1023 阅读 · 0 评论 -
[每日一练]患某种疾病的患者,正则表达式的匹配
大部分匹配内容的时候还是建议使用正则表达式。以上的两个思路正则表达式执行的速度稍微快一点,是311ms,而非正则表达式的执行速度是323ms,而且非正则表达式的方法要把所有的情况都要考虑并且写出来,相对繁琐。原创 2024-06-03 09:10:39 · 1295 阅读 · 0 评论 -
[每日一练]查找拥有有效邮箱的用户以及pandas正则表达式的使用
a-zA-Z]:这个变量匹配从 a 到 z 或 A 到 Z 的任何字符。请注意,你可以在方括号内指定的字符范围的数量没有限制,您可以添加想要匹配的其他字符或范围。请注意,字符 ^ 用来否定字符范围,它在方括号内的含义与它的方括号外表示开始的含义不同。[a-z]*:表示一个字符范围,匹配从 a 到 z 的任何字符 0 次或多次。[a-z]+:表示一个字符范围,匹配从 a 到 z 的任何字符 1 次或多次。[a-z]:表示一个字符范围,匹配从 a 到 z 的任何字符。表示,匹配括号内的任意一个字符;原创 2024-05-30 09:21:00 · 1281 阅读 · 0 评论 -
[每日一练]按日期分组销售产品的最优解法
我们在之前编辑数据时,总是在分组聚合后使用reset_index()函数进行索引的重置,是因为分组聚合后的数据比较复杂,使用这个代码比较保险,而当对整个数据进行分组时,可以直接使用as_index参数,可以提高执行速度,精简代码。我们在聚合函数内建立了products列后,要把表格中的数据都分组放在一个空间力,并对它们进行去重和按照词典排序,数据很多,使用lambda函数可以很快的遍历求解。对于2020-06-01,出售的物品是 (Pencil, Bible),按词典序排列,并用逗号分隔。原创 2024-05-29 18:29:03 · 969 阅读 · 0 评论 -
[每日一练]排名靠前的旅行者
包括.sum() 和 .transform('sum') 在 Pandas 中的作用区分原创 2024-05-27 11:15:58 · 687 阅读 · 0 评论 -
[每日一练]列出指定时间内所有下单的产品
两表格进行按product_id列进行合并,然后将时间列中的数据转化为时间类型形式,实现数据清洗,利用groupby函数找出符合题目要求的时间段;2020 年 2 月份下单 product_id = 1 的产品的数目总和为 (60 + 70) = 130。2020 年 2 月份下单 product_id = 5 的产品的数目总和为 (50 + 50) = 100。2020 年 2 月份下单 product_id = 3 的产品的数目总和为 (2 + 3) = 5。该表包含该公司产品的数据。原创 2024-05-24 17:10:04 · 895 阅读 · 1 评论 -
[每日一练]力扣中关于agg聚合函数的经典例题
表:Productproduct_id 是该表的主键(具有唯一值的列)。该表的每一行显示每个产品的名称和价格。Sales这个表可能有重复的行。product_id 是 Product 表的外键(reference 列)。该表的每一行包含关于一个销售的一些信息。编写解决方案,报告2019年春季才售出的产品。即仅在2019-01-01至2019-03-31(含)之间出售的商品。以任意顺序返回结果表。原创 2024-05-08 17:38:26 · 838 阅读 · 1 评论 -
[每日一练]利用笛卡尔合并统计学生参加测试的次数
关于笛卡尔合并的应用原创 2024-05-23 11:23:51 · 1201 阅读 · 0 评论 -
[每日一练]关于查询结果的质量和占比的思考
原题来源于力扣pandas题库第1211题,连接如下:1211. 查询结果的质量和占比 - 力扣(LeetCode)原创 2024-05-18 19:43:33 · 852 阅读 · 0 评论 -
[每日一练]关于平均售价的思考及特殊情况解决
注意:在最后填充平均值的时候,要求先把数值形式改为浮点是才可以填充,不然会最终显示商品3的平均价格为null而不是0!这其实也算一种数据清洗吧,有可能average_price形式是其他未知的类型,先对其进行浮点数类型的转换才可以进行数据的空值填充。很简单,把商品3的purchase_date补上,任何在补齐purchase_date的同时不被查询函数删除呢?每个产品的对应时间段是不会重叠的,这也意味着同一个产品的价格时段不会出现交叉。该表的每一行表示的是每种产品的出售日期,单位和产品 id。原创 2024-05-23 09:37:39 · 1051 阅读 · 2 评论