- 博客(28)
- 收藏
- 关注
原创 groupby().agg()易错点
对比「通过agg聚合后给 DataFrame 赋值新列」和「agg中直接指定新列名」两种方式的差异。下面先修正语法错误,再详细分析两种写法的和。
2025-12-21 17:47:10
280
原创 将结果按字典或元组格式输出
字典输出:先构造{键: 值}的字典对象,可直接打印、遍历键值对或转为 JSON,适合需要语义化的结果;元组输出:先构造(值1, 值2, ...)的元组对象,可直接打印、解包后使用,适合简洁、有序的结果;实际应用中,可根据结果是否需要标签、是否用于数据交互等场景选择合适的格式。
2025-12-15 20:06:30
440
原创 df.info()、df.describe()、df.dtypes有什么不同
想知道 “数据有没有缺失、占多少内存”→ 用df.info();想分析 “数值列的均值、分位数、极值”→ 用;只想快速看 “各列是什么类型”→ 用df.dtypes。
2025-12-10 20:05:52
742
原创 series 最常用的 10 个 str 方法
(筛选)、(拆分)、(替换),覆盖 80% 工艺场景。(提取)、(模糊匹配)支持正则,处理复杂字符串(如批次号、缺陷描述)超实用。
2025-12-10 14:29:17
556
原创 excel+pandas使用str.contains() 的典型例子
【代码】excel+pandas使用str.contains() 的典型例子。
2025-12-10 14:24:52
301
原创 df[‘xx‘]和df.loc[‘xx‘] 的区别
loc:按标签行 / 列索引(df.loc[行标签, 列标签]iloc:按位置行 / 列索引(df.iloc[行位置, 列位置]df[]:仅用于选列或布尔行筛选(如df['xx']列索引专用,简洁高效,适用于仅选列的场景;特殊情况下支持行切片 / 行布尔索引,但非设计初衷。标签索引器,核心用于行索引,支持行 + 列双向索引,语法更规范、功能更全面,是处理行 / 行列联合索引的首选。
2025-11-24 22:39:06
510
原创 力扣pandas 每日一题1965:dropna() isna() fillna()
isna()是 “检测工具”:告诉你哪里有缺失值,常用于数据探查或复杂筛选(如 “保留 A 列缺失但 B 列非缺失的行”)。dropna()是 “删除工具”:直接移除含缺失值的行 / 列,适合快速清洗数据(如删除无效样本)。实际使用中,通常先通过统计缺失值数量,再根据情况用dropna()删除或用其他方法填充缺失值。
2025-10-14 16:48:29
983
原创 df/Series .sort_values(by=‘xx‘, ascending=False)
按列排序的核心是sort_values(by=列名),通过调整ascending控制升降序,多列排序时传入列名列表即可。
2025-10-14 16:15:15
316
原创 力扣pandas 每日一题1693 agg&apply
定义自定义函数:计算 lead_id 去重数与 partner_id 去重数的比值'lead_partner_ratio': unique_lead / unique_partner # 新增自定义指标})# 对每个分组应用自定义函数特点:支持任意复杂的逻辑(如多列计算、条件判断等),输出结构更灵活(可返回多列),但性能略低于agg()。维度agg()apply()操作对象分组中的单个列(或整个分组的列)整个分组的 DataFrame/Series函数输入通常是内置聚合函数(如sum。
2025-10-14 15:36:13
1821
原创 力扣pandas 每日一题1795 宽表/长表转换
Products在 SQL 中,这张表的主键是 product_id(产品Id)。每行存储了这一产品在不同商店 store1, store2, store3 的价格。如果这一产品在商店里没有出售,则值将为 null。请你重构Products表,查询每个产品在不同商店的价格,使得输出的格式变为。如果这一产品在商店里没有出售,则不输出这一行。输出结果表中的。查询输出格式请参考下面示例。产品 0 在 store1、store2、store3 的价格分别为 95、100、105。
2025-10-13 16:22:42
1588
原创 .len()与.str.len()区别
方法适用对象作用示例输出(以上面的 df 为例).len()整个 DataFrame 或 Series计算行数(DataFrame)或元素总数(Series)len(df)→ 3;→ 3.str.len()字符串类型的 Series计算每个元素(字符串)的字符长度只要某个数据类型有 “通用len()覆盖不到的细分需求”,Pandas 就会提供对应的 “细化方法”,就像.str.len()对len()的细化逻辑。想知道 “数据有多少行 / 多少个元素”,用.len();
2025-10-13 16:05:25
137
原创 力扣pandas 每日一题1741 apply()
表:Employees在 SQL 中,(emp_id, event_day, in_time) 是这个表的主键。该表显示了员工在办公室的出入情况。event_day 是此事件发生的日期,in_time 是员工进入办公室的时间,而 out_time 是他们离开办公室的时间。in_time 和 out_time 的取值在1到1440之间。题目保证同一天没有两个事件在时间上是相交的,并且保证 in_time 小于 out_time。计算每位员工每天在办公室花费的总时间(以分钟为单位)。
2025-10-13 15:48:26
878
原创 力扣pandas 每日一题1484 .nunique()
需计数时用.nunique();需获取去重元素时用.unique();需保留去重后的完整数据时用。通过元组列表[(新列名, (原列名, 聚合操作))]定义,直接指定聚合后列名,避免多级索引。a_mean=('A', 'mean'), # 新列名a_mean = A列的均值b_range=('B', lambda x: x.max() - x.min()) # 新列名b_range = B列的极差).reset_index() # 还原分组列为普通列0 x 1.5 101 y 3.5 10。
2025-10-06 16:06:46
947
原创 力扣pandas 每日一题1661 两次groupby
表:Activity该表展示了一家工厂网站的用户活动。(machine_id, process_id, activity_type) 是当前表的主键(具有唯一值的列的组合)。machine_id 是一台机器的ID号。process_id 是运行在各机器上的进程ID号。activity_type 是枚举类型 ('start', 'end')。timestamp 是浮点类型,代表当前时间(以秒为单位)。
2025-10-06 14:11:26
542
原创 力扣pandas 每日一题1050 grouped.fliter(lambda)
表:timestamp 是这张表的主键(具有唯一值的列).编写解决方案找出合作过至少三次的演员和导演的 id 对ActorDirector 表:唯一的 id 对是 (1, 1),他们恰好合作了 3 次。
2025-10-05 11:23:42
609
原创 力扣pandas 每日一题 1211 grouped.apply(lambda)
apply()通过apply()对每个分组应用自定义函数(如你的代码中计算quality,x就是每个分组对应的子 DataFrame,如的所有行。# 对每个分组应用 lambda 函数,计算 (rating/position) 的平均值。
2025-10-02 19:04:20
1421
原创 力扣pandas 每日一题 610 (向量化操作与map)
表:Triangle在 SQL 中,(x, y, z)是该表的主键列。该表的每一行包含三个线段的长度。对每三个线段报告它们是否可以形成一个三角形。以返回结果表。查询结果格式如下所示。
2025-10-02 15:13:00
536
原创 选择DataFrame 列的写法
(如不能有列名叫 “sum”“mean”,会和 df.sum () 冲突)。(不能有空格、下划线以外的特殊字符,如 “age-1” 不行);:列名满足两个条件时可用:① 列名是。df.列名 > 条件。
2025-10-01 12:30:04
328
原创 pandas中布尔型索引与loc切片
布尔型索引是:用一个与 DataFrame 行数 / 列数相同长度的TrueFalse)【基于逻辑条件(如大于、等于、包含等)生成布尔数组】,保留True对应的行或列,过滤False对应的部分。
2025-10-01 12:12:04
337
原创 力扣pandas 每日一题 196(groupby+布尔值索引)
表:Personid 是该表的主键列(具有唯一值的列)。该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。编写解决方案所有重复的电子邮件,只保留一个具有最小id的唯一电子邮件。(对于 SQL 用户,请注意你应该编写一个DELETE语句而不是SELECT语句。(对于 Pandas 用户,请注意你应该直接修改Person表。运行脚本后,显示的答案是Person表。驱动程序将首先编译并运行您的代码片段,然后再显示Person表。Person表的最终顺序。返回结果格式如下示例所示。
2025-09-24 15:45:55
298
原创 Pandas query() 方法解析
query() 使用类似 SQL 表达式语法筛选 DataFrame 的行,适合数据筛选。如果使用query(),最好使用链式写法。
2025-09-24 13:42:21
205
原创 力扣pandas 每日一题 181(merge)
Employeeid 是该表的主键(具有唯一值的列)。该表的每一行都表示雇员的ID、姓名、工资和经理的ID。编写解决方案,找出收入比经理高的员工。以返回结果表。结果格式如下所示。Employee 表:Joe 是唯一挣得比经理多的雇员。
2025-09-24 13:11:58
513
原创 力扣pandas 每日一题 511 groupby()
活动表Activity在 SQL 中,表的主键是 (player_id, event_date)。这张表展示了一些游戏玩家在游戏平台上的行为活动。每行数据记录了一名玩家在退出平台之前,当天使用同一台设备登录平台后打开的游戏的数目(可能是 0 个)。查询每位玩家。
2025-09-16 16:12:22
551
原创 力扣pandas 每日一题 182
Series 需.reset_index()变成df, Series 调用。将Series转换为DataFrame,邮箱从索引变为普通列,计数列命名为。链式需要用圆括号包裹语句,否则 Python 看到第一行就认为表达式已经结束。返回最终的DataFrame,只包含重复的邮箱地址。就是给这列命名的参数。
2025-09-15 10:41:11
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1