自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 35. 搜索插入位置

【代码】35. 搜索插入位置。

2023-11-23 21:07:36 78

转载 437. 路径总和 III(前缀和法)

假设node2的前缀和为2,node3的值(非前缀和)为3,node4的值(非前缀和)为-3,那么node4的前缀和也为2.此时,若node5的前缀和为10,则如果字典里显示前缀和为2的节点有2个,则我们可以知道截止到node5,存在2个路径之和为8.设根节点的为root,当前节点为node5,从root到node5依次进过了node2,node3,node4,则node5的前缀和为root+node2+node3+node4+node5。因此,该字典的键为出现的前缀和,值为这个前缀和出现的次数。

2023-11-23 19:26:49 93

转载 pop()和popleft()方法

pop() 和 popleft() 是 Python 标准库 collections 模块中 deque(双端队列)对象的方法,用于从队列中删除元素。pop() 方法用于从队列的右侧(末尾)删除元素,并返回被删除的元素。其语法如下:如果队列为空,pop() 方法会引发 IndexError 异常。popleft() 方法用于从队列的左侧(开头)删除元素,并返回被删除的元素。其语法如下:如果队列为空,popleft() 方法会引发 IndexError 异常。需要注意的是,deque 是一种双端

2023-11-22 22:32:35 711

原创 深度优先搜索(DFS)和广度优先搜索(BFS)

树的遍历方式总体分为两类:深度优先搜索(DFS)、广度优先搜索(BFS)。求树的深度需要遍历树的所有节点,本文将介绍基于 后序遍历(DFS) 和 层序遍历(BFS) 的两种解法。

2023-11-22 16:05:54 75

原创 timestampdiff计算时间差

【代码】timestampdiff计算时间差。

2023-11-22 01:33:35 199

原创 SQL更新并插入数据

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。replace into 跟 insert into功能类似,不同点在于:replace into 首先尝试插入数据到表中,

2023-11-22 01:26:00 92

原创 SQL插入多行数据

自增主键(PRIMARY KEY),这就意味着不需要你自己手动填入,它会跟随表格行数进行自己增加(比如这样增加id值👉1,2,3...n)。这样就不用填写id这一列的数据,让他自增。

2023-11-22 01:22:12 1360

原创 排序链表,递归内要对链表进行截断

但是,如果我们不设置slow.next = None,那么左半部分的链表将会包含整个原始链表,这将导致递归调用无法正确地终止,从而可能导致无限循环。如果我们不设置slow.next = None,那么在第一次递归调用sortList函数时,head将会是1,mid将会是3,但是head的链表将会是1 -> 4 -> 3 -> 2,而不是我们期望的1 -> 4。首先,我们对链表1 -> 4进行排序,得到1 -> 4。最后,我们将这两个已排序的链表合并,得到最终的排序链表:1 -> 2 -> 3 -> 4。

2023-11-21 21:49:18 35

原创 判断链表是否存在有环

(也就是它在内存中的地址)来判断对象是否已经在集合中。因此,即使两个节点的值相同,只要它们是不同的节点(即,它们在内存中的位置不同),当你在Python中创建一个集合并添加对象到集合中时,Python会使用对象的。所以,你的代码可以正确地检测链表是否存在环,即使链表中存在值相同的节点。是否已经被访问过,而不是检查。这行代码实际上是在检查。的值是否已经被访问过。

2023-11-19 20:40:36 47

原创 node.prev.next = node.next 和 node = node.next的区别

node.prev.next = node.next 是在修改链表的结构。node.prev.next 表示的是 node 的前一个节点的 next 指针,node.next 表示的是 node 的下一个节点。这行代码的作用是将 node 的前一个节点的 next 指针指向 node 的下一个节点,从而跳过 node,达到。所以,node.prev.next = node.next 和 node = node.next 在功能上是完全不同的,前者是用来修改链表结构的,后者是用来移动指针的。

2023-11-16 19:46:46 149

原创 python排序:归并排序

例如,如果 merged = [1, 2, 3],left = [4, 5, 6],那么 merged.append(left) 之后,merged 的值会变成 [1, 2, 3, [4, 5, 6]],而不是我们期望的 [1, 2, 3, 4, 5, 6]。在Python中,merged.append(left) 这样的操作会将整个 left 列表作为一个元素添加到 merged 列表的末尾,而不是将 left 列表中的元素逐个添加到 merged 列表。

2023-11-16 19:10:34 114

原创 cur = cur.next不会修改链表本身,只修改节点位置

在这段代码中,dummy 和 cur 实际上是指向同一个链表的。当我们创建 cur = dummy 时,cur 和 dummy 都指向链表的头部。然后在循环中,cur 指针向前移动,但它仍然在同一个链表上。所以当我们修改 cur.next 的时候,实际上也就修改了 dummy.next,因为它们都是指向同一个链表的。这就是为什么 dummy 的顺序会跟着 cur 的变化而变化的原因。现在指向的是链表中的下一个节点。这个操作并不会改变链表节点的值或者节点之间的连接关系,所以链表本身并没有发生变化。

2023-11-16 15:11:27 100

原创 sorted的结果是列表

返回的是一个字符列表,而不是字符串。在Python中,列表不能作为字典的键,因为列表是可变的,而字典的键必须是不可变的。作为分隔符,将列表中的所有元素连接成一个字符串。的结果是一个字符串,可以作为字典的键。返回的字符列表连接成一个字符串。

2023-11-15 22:52:57 242 1

原创 创建字典的方式

创建一个字典并尝试访问一个不存在的键时,Python 会返回一个默认值(在这种情况下是一个空列表)并将其与该键关联。的主要优点是,当你尝试访问一个不存在的键时,它不会引发错误,而是返回一个默认值。这在处理大量默认值的数据结构时非常有用。创建一个字典并尝试访问一个不存在的键时,Python 会引发一个。在 Python 中的主要区别在于它们处理不存在的键的方式。

2023-11-14 14:37:49 144

原创 SQL中的长度length()

gbk编码下,一个汉字两个字节,一个数字或字母一个字节。,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。,不管汉字还是数字或者是字母都算是一个字符。length() : 单位是。char_length():单位为。

2023-11-09 01:37:13 970 1

转载 字符串截取之substring_index

也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容。有人会问,如果我要中间的的wikidm怎么办?结果是:www.wikidm。结果为:wikidm.cn。

2023-11-08 01:30:21 257 1

原创 计算用户的平均次日留存率

2、left join的时候使用and还是where是有区别的:and保留了left的部分,右边可空,而where保留left和right都非空的部分。1、不能使用dense_rank窗口函数:能考虑一天多次做题的数据,但是不能考虑跨天做题的数据。题目:现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。示例:question_practice_detail。

2023-11-08 01:24:52 67 1

原创 sql运行顺序

【代码】sql运行顺序。

2023-11-07 23:38:38 41

原创 LIMIT: 查询结果限制返回行数

如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1。LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。例6.检索记录行 11-last(即跳过前10行)如果只给定一个参数,它表示返回最大的记录行数目。例5.检索记录行 6-10(即跳过前5行)初始记录行的偏移量是 0(而不是 1)。例7.检索前 5 个记录行。

2023-11-07 23:27:31 181

原创 筛选某店铺最有价值用户中消费最多前5名

请你输出评分后的数据的前5行并输出最有价值的用户(评分为“444”)中销售总金额最高的前5位(索引从0开始),以上数据集的输出如下图所示(两次输出之间有一个空行)。评分规则如下: 对于recency特征,值越小越好。对于frequency和monetary值越大越好。请你先对每个用户销售情况的每个特征进行评分,分值为1-4分。再将所有评分拼接到一起形成新的列RFMClass。对于frequency和monetary则方法刚好相反。请你统计最有价值的用户中消费金额最多的前5名用户。

2023-11-03 23:35:45 189

原创 某店铺用户消费特征评分

请你对每个用户销售情况的每个特征进行评分,分值为1-4分。对于recency特征,值越小越好。对于frequency和monetary值越大越好。要求给所有数据进行评分,并输出前5行。现有某店铺会员消费情况sales.csv。对于frequency和monetary则方法刚好相反。数据集可以从当前目录下sales.csv读取。请你分别对每个用户的每个消费特征进行评分。

2023-11-03 23:22:03 38

原创 pd.pivot_table(数据透视表)

是Pandas库中的一个函数,它可以创建一个电子表格风格的数据透视表。这个函数非常强大,可以对数据进行多层次的分析。

2023-11-03 22:31:48 1457

原创 3中分组后求最大值的例子

牛牛想要知道牛客网这些刷题用户,每年毕业生中最高的成就值分别是多少?Continuous_check_in_days:最近连续签到天数。Last_submission_time:最后一次提交题目日期。Number_of_submissions:提交代码次数。按照毕业年份顺序输出每年毕业生中的最高成就值。Achievement_value:成就值。Num_of_exercise:刷题量。Graduate_year:毕业年份。Nowcoder_ID:用户ID。Language:常用语言。

2023-11-03 16:49:28 26

原创 牛客网连续练习题目3天及以上的用户

现有牛客网12月每天练习题目的数据集nowcoder.csv。请你统计2021年12月连续练习题目3天及以上的所有用户。数据集可以直接从当前目录下nowcoder.csv读取。

2023-11-03 14:44:30 70

原创 Python和SQL中三种对应排序方式

函数会给每个值分配一个排名,如果有相同的值,那么它们的排名将是它们在排序后的位置的最小值,但是排名总是连续的,没有跳跃。函数会给每个值分配一个排名,如果有相同的值,那么它们的排名将是它们在排序后的位置的最小值。函数会给每个值分配一个排名,如果有相同的值,那么它们的排名将是它们在原始数据中出现的顺序。函数来实现类似于Pandas中的。在这些SQL查询中,我们首先按照。进行分组,然后在每个组内对。进行排序,并计算排名。在SQL中,可以使用。

2023-11-03 14:38:03 156

原创 牛客网用户练习的平均次日留存率

现有牛客网12月每天练习题目情况的数据集nowcoder.csv。现需要查看用户在某天练习后第二天还会再来练习的留存情况,请计算用户练习的平均次日留存率。数据集可以直接从当前目录下nowcoder.csv读取。

2023-11-03 11:22:28 43

原创 .dt.date跟,format = ‘%Y-%m-%d‘的区别

时,如果原始数据中包含了时间信息(例如"2023-11-04 21:00"),那么在转换过程中,时间信息会被保留下来,只不过在输出时不会显示出来。也就是说,转换后的日期时间对象实际上是"2023-11-04 21:00:00",只是当你打印或查看它时,由于你指定了格式为’%Y-%m-%d’,所以只会显示出"2023-11-04"。所以,如果原来的date是"2023/11/04 21:00",那么运行这行代码后,由于原始数据与指定的格式不匹配,可能会导致错误。请注意,这里的时间部分默认为00:00:00。

2023-11-03 11:16:34 204

原创 逐元素操作.apply()

对DataFrame或Series中的每个元素应用一个自定义函数。对DataFrame或Series中的每行或每列应用一个自定义函数。对DataFrame或Series中的每个元素应用一个lambda表达式。apply()是Pandas中的一个函数,用于对DataFrame或Series中的数据进行逐元素操作。

2023-11-03 01:40:27 102

原创 求方差、标准差中ddof的作用

ddof是numpy.var()和numpy.std()函数的可选参数,用于指定计算方差和标准差时使用的自由度。在样本数据中,样本方差和样本标准差是无偏估计量,因此需要使用自由度为n-1。而在总体数据中,方差和标准差是有偏估计量,因此需要使用自由度为n。默认情况下,ddof=0,即计算总体方差或标准差。如果要计算样本方差或标准差,则需要将ddof设置为1。

2023-11-03 01:26:23 588

原创 .value_counts()跟.groupby()的区别

value_counts()是一种用于计算Series中每个唯一值出现次数的函数1。例如,如果你有一个Series s,其中包含以下值。在Pandas中,.value_counts()和.groupby()都是用于对数据进行聚合的函数,但它们的使用方式和结果略有不同。这将返回一个GroupBy对象,你可以使用它来对数据进行聚合操作。都是用于对数据进行聚合的函数,但它们的使用方式和结果略有不同。分组的平均值为-0.102949和-0.032087,而。分组的平均值为-0.155270和0.045764。

2023-11-03 00:53:00 236

原创 pandas中包括与不包括的问题

意思是从DataFrame data 中选取所有语言为 CPP、C 或 C# 的行,并将它们打印出来。不要傻傻想着有什么notin的函数了。

2023-11-02 22:48:23 112

原创 isnull函数

axis=1或0: 1表示横轴,方向从左到右;0表示纵轴,方向从上到下。返回bool类型的值:True or False。all:返回是否所有元素为真。

2023-11-02 22:36:39 78

原创 iloc和loc的切片方式不同

当你使用data.iloc[10:21]时,它将返回数据中第11到第21行的所有数据,而不包括第21行;当你使用data.loc[10:20]时,它将返回数据中第10到第20行的所有数据,包括第20行。

2023-11-02 22:22:19 36

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除