当前位置:首页>python>Day10:Python数据"选妃记"!如何精准筛选出你想要的那一行?

Day10:Python数据"选妃记"!如何精准筛选出你想要的那一行?

  • 2026-02-11 12:35:32
Day10:Python数据"选妃记"!如何精准筛选出你想要的那一行?

还在Excel里用筛选按钮?Python让你用一行代码搞定复杂筛选!

一、为什么需要数据筛选?

想象一下这个场景:

校长想找

  1. 语文90分以上的学生

  2. 同时数学85分以上

  3. 并且是三年级二班的同学

用Excel你得:点击筛选→选择语文>90→再选数学>85→再选班级...用Python你只需要一行代码

二、基础筛选:单条件筛选

import pandas as pd# 创建示例数据数据 = pd.DataFrame({'学号': ['2023001''2023002''2023003''2023004''2023005''2023006'],'姓名': ['张三''李四''王五''赵六''钱七''孙八'],'班级': ['三(2)班''三(1)班''三(2)班''三(1)班''三(2)班''三(1)班'],'性别': ['男''女''男''女''男''女'],'语文': [85, 92, 78, 90, 88, 95],'数学': [92, 88, 85, 95, 90, 92],'英语': [88, 85, 80, 92, 87, 90],'总分': [265, 265, 243, 277, 265, 277]})print("📊 原始数据:")print(数据)print(f"总行数:{len(数据)}行")# 1. 最简单的筛选:选择单列print("\n🎯 1. 只显示学生姓名和语文成绩:")print(数据[['姓名''语文']])# 2. 条件筛选:语文成绩大于90分print("\n🎯 2. 语文90分以上的学生:")语文90以上 = 数据[数据['语文'] > 90]print(语文90以上)print(f"共{len(语文90以上)}人")# 3. 条件筛选:等于某个值print("\n🎯 3. 三(2)班的学生:")三二班 = 数据[数据['班级'] == '三(2)班']print(三二班)# 4. 条件筛选:不等于某个值print("\n🎯 4. 非三(2)班的学生:")非三二班 = 数据[数据['班级'] != '三(2)班']print(非三二班)# 5. 条件筛选:包含特定文本print("\n🎯 5. 姓名包含'三'的学生:")含三的学生 = 数据[数据['姓名'].str.contains('三')]print(含三的学生)

三、高级筛选:多条件组合

print("\n🔍 高级筛选:多条件组合")print("="*50)# 6. 且条件(AND):使用 & 符号print("\n🎯 6. 语文>85 且 数学>90 的学生:")条件1 = 数据['语文'] > 85条件2 = 数据['数学'] > 90筛选结果 = 数据[条件1 & 条件2]  # 两个条件都要满足print(筛选结果)print(f"逻辑解释:筛选语文>85分 AND 数学>90分")# 7. 或条件(OR):使用 | 符号print("\n🎯 7. 语文>90 或 数学>90 的学生:")条件1 = 数据['语文'] > 90条件2 = 数据['数学'] > 90筛选结果 = 数据[条件1 | 条件2]  # 两个条件满足一个即可print(筛选结果)print(f"逻辑解释:筛选语文>90分 OR 数学>90分")# 8. 非条件(NOT):使用 ~ 符号print("\n🎯 8. 不是三(2)班且语文不低于85分的学生:")条件1 = 数据['班级'] != '三(2)班'# 不是三(2)班条件2 = 数据['语文'] >= 85        # 语文不低于85分筛选结果 = 数据[条件1 & 条件2]print(筛选结果)# 9. 复杂条件组合print("\n🎯 9. 三(2)班且语文>85或数学>90的学生:")条件1 = 数据['班级'] == '三(2)班'条件2 = 数据['语文'] > 85条件3 = 数据['数学'] > 90筛选结果 = 数据[(条件1 & 条件2) | 条件3]  # 注意括号!print(筛选结果)print("注意:括号很重要!(三(2)班且语文>85) 或 数学>90")

四、筛选函数:query()的强大功能

print("\n🧠 query()函数:用字符串写筛选条件")print("="*50)# 10. 使用query()筛选(更简洁)print("\n🎯 10. 使用query筛选语文>85分的学生:")筛选结果 = 数据.query("语文 > 85")print(筛选结果)# 11. query()多条件筛选print("\n🎯 11. query()筛选:班级=='三(2)班' 且 语文>85 且 数学>90")筛选结果 = 数据.query("班级 == '三(2)班' and 语文 > 85 and 数学 > 90")print(筛选结果)# 12. query()使用变量print("\n🎯 12. query()使用变量筛选:")最低分 = 85筛选结果 = 数据.query("语文 >= @最低分 and 数学 >= @最低分")print(f"语文和数学都≥{最低分}分的学生:")print(筛选结果)# 13. query()的或条件print("\n🎯 13. query()的或条件:语文>90或数学>90")筛选结果 = 数据.query("语文 > 90 or 数学 > 90")print(筛选结果)# 14. 包含特定文本的筛选print("\n🎯 14. query()筛选姓名包含'三'或'四':")筛选结果 = 数据.query("姓名.str.contains('三') or 姓名.str.contains('四')", engine='python')print(筛选结果)

五、实战:教师常用筛选场景

5.1 学生成绩分析器

class 学生成绩分析器:    def __init__(self, 数据):        self.数据 = 数据        self.分析结果 = {}    def 显示菜单(self):"""显示筛选菜单"""print("\n📊 学生成绩分析器")print("="*50)print("1. 按分数段筛选")print("2. 按班级筛选")print("3. 按性别筛选")print("4. 查找偏科学生")print("5. 查找进步空间大的学生")print("6. 综合条件筛选")print("0. 退出")    def 按分数段筛选(self):"""按分数段筛选学生"""print("\n🎯 按分数段筛选")print("选择科目:1.语文 2.数学 3.英语 4.总分")        科目选择 = input("请输入选择:")        科目映射 = {'1''语文''2''数学''3''英语''4''总分'}        科目 = 科目映射.get(科目选择, '语文')print(f"\n筛选{科目}成绩:")print("1. 优秀(≥90分)")print("2. 良好(80-89分)")print("3. 及格(60-79分)")print("4. 不及格(<60分)")print("5. 自定义分数范围")        选择 = input("请输入选择:")if 选择 == '1':            筛选条件 = f"{科目} >= 90"            描述 = f"{科目}优秀(≥90分)"elif 选择 == '2':            筛选条件 = f"{科目} >= 80 and {科目} < 90"            描述 = f"{科目}良好(80-89分)"elif 选择 == '3':            筛选条件 = f"{科目} >= 60 and {科目} < 80"            描述 = f"{科目}及格(60-79分)"elif 选择 == '4':            筛选条件 = f"{科目} < 60"            描述 = f"{科目}不及格(<60分)"elif 选择 == '5':            最低分 = float(input("请输入最低分:"))            最高分 = float(input("请输入最高分:"))            筛选条件 = f"{科目} >= {最低分} and {科目} <= {最高分}"            描述 = f"{科目}在{最低分}-{最高分}分"else:print("无效选择")return# 执行筛选        结果 = self.数据.query(筛选条件)print(f"\n📋 {描述}的学生:")print(f"共{len(结果)}人")print(结果)# 保存结果        self.分析结果[描述] = 结果return 结果    def 按班级筛选(self):"""按班级筛选"""print("\n🎯 按班级筛选")# 获取所有班级        所有班级 = self.数据['班级'].unique()print(f"所有班级:{', '.join(所有班级)}")        班级 = input("请输入要筛选的班级:")if 班级 not in 所有班级:print(f"班级'{班级}'不存在")return        结果 = self.数据.query(f"班级 == '{班级}'")print(f"\n📋 {班级}的学生名单:")print(f"共{len(结果)}人")print(结果[['学号''姓名''性别''语文''数学''英语''总分']])# 显示班级统计print(f"\n📊 {班级}成绩统计:")print(f"语文平均分:{结果['语文'].mean():.1f}")print(f"数学平均分:{结果['数学'].mean():.1f}")print(f"英语平均分:{结果['英语'].mean():.1f}")print(f"总分平均分:{结果['总分'].mean():.1f}")        self.分析结果[f"{班级}学生"] = 结果return 结果    def 查找偏科学生(self):"""查找偏科学生(某科特别高或特别低)"""print("\n🎯 查找偏科学生")# 计算每科与平均分的差值        数据副本 = self.数据.copy()        数据副本['语文差'] = 数据副本['语文'] - 数据副本['语文'].mean()        数据副本['数学差'] = 数据副本['数学'] - 数据副本['数学'].mean()        数据副本['英语差'] = 数据副本['英语'] - 数据副本['英语'].mean()print("选择查找类型:")print("1. 查找优势科目明显的学生(某科比平均分高10分以上)")print("2. 查找薄弱科目明显的学生(某科比平均分低10分以上)")print("3. 查找各科均衡的学生(各科与平均分差在5分以内)")        选择 = input("请输入选择:")if 选择 == '1':# 某科比平均分高10分以上            条件 = (数据副本['语文差'] > 10) | (数据副本['数学差'] > 10) | (数据副本['英语差'] > 10)            描述 = "优势科目明显的学生"elif 选择 == '2':# 某科比平均分低10分以上            条件 = (数据副本['语文差'] < -10) | (数据副本['数学差'] < -10) | (数据副本['英语差'] < -10)            描述 = "薄弱科目明显的学生"elif 选择 == '3':# 各科与平均分差在5分以内            条件 = (数据副本['语文差'].abs() <= 5) & (数据副本['数学差'].abs() <= 5) & (数据副本['英语差'].abs() <= 5)            描述 = "各科均衡的学生"else:print("无效选择")return        结果 = 数据副本[条件]print(f"\n📋 {描述}:")print(f"共{len(结果)}人")# 显示详细信息for _, 学生 in 结果.iterrows():print(f"\n{学生['姓名']}({学生['班级']}):")print(f"  语文:{学生['语文']}分(比平均分{学生['语文差']:+.1f})")print(f"  数学:{学生['数学']}分(比平均分{学生['数学差']:+.1f})")print(f"  英语:{学生['英语']}分(比平均分{学生['英语差']:+.1f})")        self.分析结果[描述] = 结果return 结果    def 查找进步空间大的学生(self):"""查找有进步空间的学生(总分高但某科低)"""print("\n🎯 查找有进步空间的学生")# 计算总分排名        数据副本 = self.数据.copy()        数据副本['总分排名'] = 数据副本['总分'].rank(ascending=False)# 找出每科最低分        各科平均分 = {'语文': 数据副本['语文'].mean(),'数学': 数据副本['数学'].mean(),'英语': 数据副本['英语'].mean()        }print("查找标准:")print("1. 总分前50%,但某科低于平均分")print("2. 总分前30%,但某科低于班级平均分10分以上")        选择 = input("请输入选择:")if 选择 == '1':            总人数 = len(数据副本)            排名条件 = 数据副本['总分排名'] <= 总人数 / 2  # 前50%            结果列表 = []for 科目, 平均分 in 各科平均分.items():                科目条件 = 数据副本[科目] < 平均分                筛选结果 = 数据副本[排名条件 & 科目条件]if len(筛选结果) > 0:print(f"\n📊 总分前50%但{科目}低于平均分的学生:")for _, 学生 in 筛选结果.iterrows():print(f"  {学生['姓名']}:总分第{int(学生['总分排名'])}名,{科目}{学生[科目]}分(平均{平均分:.1f}分)")                    结果列表.append(筛选结果)if 结果列表:                from functools import reduce                最终结果 = reduce(lambda x, y: pd.concat([x, y]).drop_duplicates(), 结果列表)                self.分析结果["有进步空间的学生"] = 最终结果return 最终结果return None    def 综合条件筛选(self):"""自定义复杂条件筛选"""print("\n🎯 综合条件筛选")print("="*50)print("你可以构建复杂的筛选条件")print("支持的运算符:>, <, >=, <=, ==, !=, and, or, not")print("示例:语文 > 85 and 班级 == '三(2)班'")print("="*50)        条件 = input("请输入筛选条件:")        try:            结果 = self.数据.query(条件, engine='python')print(f"\n✅ 筛选结果(共{len(结果)}条):")print(结果)# 保存结果            self.分析结果["自定义筛选"] = 结果return 结果        except Exception as e:print(f"❌ 条件错误:{e}")return None    def 运行(self):"""运行分析器"""while True:            self.显示菜单()            选择 = input("\n请选择操作:")if 选择 == '0':print("退出分析器")breakelif 选择 == '1':                self.按分数段筛选()elif 选择 == '2':                self.按班级筛选()elif 选择 == '3':                self.按性别筛选()elif 选择 == '4':                self.查找偏科学生()elif 选择 == '5':                self.查找进步空间大的学生()elif 选择 == '6':                self.综合条件筛选()else:print("无效选择")            input("\n按Enter继续...")    def 按性别筛选(self):"""按性别筛选"""print("\n🎯 按性别筛选")        性别 = input("请输入性别(男/女):")if 性别 not in ['男''女']:print("性别必须是'男'或'女'")return        结果 = self.数据.query(f"性别 == '{性别}'")print(f"\n📋 {性别}生名单(共{len(结果)}人):")print(结果[['姓名''班级''语文''数学''英语''总分']])# 显示性别统计print(f"\n📊 {性别}生成绩统计:")for 科目 in ['语文''数学''英语''总分']:            平均分 = 结果[科目].mean()            最高分 = 结果[科目].max()            最低分 = 结果[科目].min()print(f"  {科目}:平均{平均分:.1f}分,最高{最高分}分,最低{最低分}分")        self.分析结果[f"{性别}生"] = 结果return 结果# 使用示例if __name__ == "__main__":print("🏫 学生成绩分析器 v1.0")print("="*50)    分析器 = 学生成绩分析器(数据)    分析器.运行()

5.2 学生档案快速查询系统

class 学生档案查询系统:    def __init__(self, 数据):        self.数据 = 数据.set_index('学号')  # 设置学号为索引,方便快速查找    def 精确查找(self, 学号):"""按学号精确查找"""if 学号 in self.数据.index:            学生信息 = self.数据.loc[学号]print(f"\n🔍 学号:{学号}")print(f"姓名:{学生信息['姓名']}")print(f"班级:{学生信息['班级']}")print(f"性别:{学生信息['性别']}")print(f"语文:{学生信息['语文']}分")print(f"数学:{学生信息['数学']}分")print(f"英语:{学生信息['英语']}分")print(f"总分:{学生信息['总分']}分")return 学生信息else:print(f"❌ 找不到学号为{学号}的学生")return None    def 模糊查找(self, 关键词):"""按姓名模糊查找"""print(f"\n🔍 查找包含'{关键词}'的学生:")# 在姓名中查找        姓名结果 = self.数据[self.数据['姓名'].str.contains(关键词)]if len(姓名结果) > 0:print(f"在姓名中找到{len(姓名结果)}个结果:")for 学号, 学生 in 姓名结果.iterrows():print(f"  {学号} - {学生['姓名']}({学生['班级']})")# 在班级中查找        班级结果 = self.数据[self.数据['班级'].str.contains(关键词)]if len(班级结果) > 0 and not 班级结果.equals(姓名结果):print(f"\n在班级中找到{len(班级结果)}个结果:")for 学号, 学生 in 班级结果.iterrows():print(f"  {学号} - {学生['姓名']}({学生['班级']})")return pd.concat([姓名结果, 班级结果]).drop_duplicates()    def 批量查找(self, 学号列表):"""批量查找多个学生"""print(f"\n🔍 批量查找{len(学号列表)}个学生:")        结果 = self.数据[self.数据.index.isin(学号列表)]if len(结果) > 0:print(f"找到{len(结果)}个学生:")print(结果[['姓名''班级''语文''数学''英语''总分']])else:print("❌ 没有找到任何学生")return 结果    def 查找同学关系(self, 学生学号):"""查找同班同学"""if 学生学号 not in self.数据.index:print(f"❌ 找不到学号为{学生学号}的学生")return None        学生信息 = self.数据.loc[学生学号]        班级 = 学生信息['班级']print(f"\n👥 {学生信息['姓名']}的同班同学:")# 查找同班同学(排除自己)        同班同学 = self.数据[(self.数据['班级'] == 班级) & (self.数据.index != 学生学号)]if len(同班同学) > 0:print(f"共{len(同班同学)}人:")for 学号, 同学 in 同班同学.iterrows():                语文比较 = "高"if 同学['语文'] > 学生信息['语文'else"低"                数学比较 = "高"if 同学['数学'] > 学生信息['数学'else"低"                英语比较 = "高"if 同学['英语'] > 学生信息['英语'else"低"print(f"  {同学['姓名']}:语文{同学['语文']}分(比{学生信息['姓名']}{语文比较}{abs(同学['语文']-学生信息['语文']):.1f}分)")else:print("❌ 没有找到同班同学")return 同班同学# 使用示例if __name__ == "__main__":print("📚 学生档案查询系统")print("="*50)    查询系统 = 学生档案查询系统(数据)# 精确查找    查询系统.精确查找('2023001')# 模糊查找    查询系统.模糊查找('三')# 批量查找    查询系统.批量查找(['2023002''2023004''2023006'])# 查找同学关系    查询系统.查找同学关系('2023001')

六、筛选技巧大全

# 📋 Pandas筛选速查表print("📚 Pandas筛选技巧大全")print("="*50)# 1. 基础筛选print("\n1️⃣ 基础筛选:")print("   数据[数据['列'] > 值]          # 大于")print("   数据[数据['列'] < 值]          # 小于")print("   数据[数据['列'] >= 值]         # 大于等于")print("   数据[数据['列'] <= 值]         # 小于等于")print("   数据[数据['列'] == 值]         # 等于")print("   数据[数据['列'] != 值]         # 不等于")# 2. 多条件筛选print("\n2️⃣ 多条件筛选:")print("   数据[(条件1) & (条件2)]        # 且条件")print("   数据[(条件1) | (条件2)]        # 或条件")print("   数据[~(条件)]                  # 非条件")# 3. 文本筛选print("\n3️⃣ 文本筛选:")print("   数据[数据['列'].str.contains('文本')]      # 包含")print("   数据[数据['列'].str.startswith('文本')]    # 开头是")print("   数据[数据['列'].str.endswith('文本')]      # 结尾是")print("   数据[数据['列'].str.match('正则')]         # 正则匹配")# 4. query()方法print("\n4️⃣ query()方法:")print("   数据.query('列 > 值')                     # 简单条件")print("   数据.query('列1 > 值1 and 列2 == 值2')    # 多条件")print("   数据.query('列.str.contains(\"文本\")')    # 文本筛选")# 5. isin()方法print("\n5️⃣ isin()方法(查找多个值):")print("   数据[数据['列'].isin([值1, 值2, 值3])]    # 在列表中")print("   数据[~数据['列'].isin([值1, 值2])]        # 不在列表中")# 6. 其他筛选print("\n6️⃣ 其他筛选方法:")print("   数据[数据['列'].between(最小值, 最大值)]   # 在范围内")print("   数据[数据['列'].isnull()]                 # 空值")print("   数据[数据['列'].notnull()]                # 非空值")# 7. 链式筛选print("\n7️⃣ 链式筛选(一步步筛选):")print("   结果 = 数据[条件1]")print("   结果 = 结果[条件2]")print("   结果 = 结果[条件3]")# 8. 筛选后排序print("\n8️⃣ 筛选后排序:")print("   数据[条件].sort_values('列', ascending=False)  # 筛选后降序")

七、实战:快速生成各种名单

def 生成各种名单(数据):"""一键生成各种常用名单"""print("📋 一键生成各种名单")print("="*50)# 1. 优秀学生名单(每科90分以上)print("\n🏆 1. 优秀学生名单(每科90分以上):")    优秀学生 = 数据[(数据['语文'] >= 90) & (数据['数学'] >= 90) & (数据['英语'] >= 90)]if len(优秀学生) > 0:print(优秀学生[['姓名''班级''语文''数学''英语''总分']])else:print("暂无学生达到每科90分以上")# 2. 需要关注名单(有科目不及格)print("\n⚠️  2. 需要关注名单(有科目不及格<60分):")    需要关注 = 数据[(数据['语文'] < 60) | (数据['数学'] < 60) | (数据['英语'] < 60)]if len(需要关注) > 0:print(需要关注[['姓名''班级''语文''数学''英语']])else:print("暂无学生有科目不及格")# 3. 进步潜力名单(总分高但某科有提升空间)print("\n📈 3. 进步潜力名单(总分前50%但某科低于平均分):")    平均语文 = 数据['语文'].mean()    平均数学 = 数据['数学'].mean()    平均英语 = 数据['英语'].mean()# 总分前50%    总分排名 = 数据['总分'].rank(pct=True)    前50 = 数据[总分排名 <= 0.5]# 某科低于平均分    潜力学生 = 前50[(前50['语文'] < 平均语文) | (前50['数学'] < 平均数学) | (前50['英语'] < 平均英语)]if len(潜力学生) > 0:print(f"语文平均分:{平均语文:.1f},数学平均分:{平均数学:.1f},英语平均分:{平均英语:.1f}")print(潜力学生[['姓名''班级''语文''数学''英语''总分']])else:print("暂无符合条件的学生")# 4. 单科冠军名单print("\n🥇 4. 单科冠军名单:")for 科目 in ['语文''数学''英语']:        最高分 = 数据[科目].max()        冠军 = 数据[数据[科目] == 最高分]print(f"{科目}冠军:{冠军['姓名'].values[0]}({最高分}分,{冠军['班级'].values[0]})")# 5. 班级前十名单print("\n🏅 5. 班级前十名单:")for 班级 in 数据['班级'].unique():        班级数据 = 数据[数据['班级'] == 班级]        前十 = 班级数据.nlargest(3, '总分')  # 取前3名,实际可以改为10print(f"\n{班级}前三名:")for i, (_, 学生) in enumerate(前十.iterrows(), 1):print(f"  第{i}名:{学生['姓名']}({学生['总分']}分)")# 保存所有名单到Excelprint("\n💾 正在保存名单到Excel...")    with pd.ExcelWriter('各种名单.xlsx', engine='openpyxl') as writer:if len(优秀学生) > 0:            优秀学生.to_excel(writer, sheet_name='优秀学生', index=False)if len(需要关注) > 0:            需要关注.to_excel(writer, sheet_name='需要关注', index=False)if len(潜力学生) > 0:            潜力学生.to_excel(writer, sheet_name='进步潜力', index=False)print("✅ 名单已保存到:各种名单.xlsx")# 使用示例生成各种名单(数据)

八、明日预告

明天我们将学习 「给数据"动手术":新增、修改列,so easy!」

你将学到:

  • 如何给表格添加新列

  • 如何修改现有列的数据

  • 如何基于现有列计算新列

  • 让数据处理能力更上一层楼!

公众号:数字编程回复"Py-Day10"获取完整代码和筛选工具

下期:明天下午6点,数据修改与计算实战!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-11 15:57:43 HTTP/2.0 GET : https://f.mffb.com.cn/a/474996.html
  2. 运行时间 : 0.272390s [ 吞吐率:3.67req/s ] 内存消耗:4,809.05kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=47dd2aa99cd923719ccb845f83c1bda1
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000488s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000900s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001925s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.009493s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000637s ]
  6. SELECT * FROM `set` [ RunTime:0.009105s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000731s ]
  8. SELECT * FROM `article` WHERE `id` = 474996 LIMIT 1 [ RunTime:0.013095s ]
  9. UPDATE `article` SET `lasttime` = 1770796663 WHERE `id` = 474996 [ RunTime:0.022564s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.005881s ]
  11. SELECT * FROM `article` WHERE `id` < 474996 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.027730s ]
  12. SELECT * FROM `article` WHERE `id` > 474996 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.016165s ]
  13. SELECT * FROM `article` WHERE `id` < 474996 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.031738s ]
  14. SELECT * FROM `article` WHERE `id` < 474996 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.027354s ]
  15. SELECT * FROM `article` WHERE `id` < 474996 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.028181s ]
0.274062s