当前位置:首页>python>《Python 从入门到精通》147|Pandas 常见操作:筛选、排序、分组、聚合

《Python 从入门到精通》147|Pandas 常见操作:筛选、排序、分组、聚合

  • 2026-08-18 23:12:11
《Python 从入门到精通》147|Pandas 常见操作:筛选、排序、分组、聚合

一、真正把 Pandas 用起来,核心就是这四件事

前面两章,我们已经把 Pandas 最核心的对象 DataFrame 讲清楚了。

你已经知道:

DataFrame 本质上是一张表 一行通常是一条记录 一列通常是一个字段 可以读表、看表、取列、加列、做基础统计

但如果你真的把 Pandas 用到工作和项目里,很快会发现,最常做的操作其实高度集中,翻来覆去基本就是四类:

筛选 排序 分组 聚合

比如这些真实需求:

找出销量大于 100 的商品 只看北京门店的数据 按销售额从高到低排序 统计每个商品的总销量 统计每个门店的平均客单价 按月份汇总销售额 按商品类别分组看数量和金额

这些问题表面不同,底层其实都是围绕这四种能力展开的。

所以这一章非常重要。 因为它不是在教几个零散命令,而是在教你 Pandas 最常用的工作流。

把这一章吃透,很多表格分析任务你就能真正开始独立上手了。

二、先准备一份练习数据

为了把这四类操作讲透,我们先准备一张像样一点的数据表。

import pandas as pddata = {"门店": ["北京""上海""北京""广州""上海""北京""广州""上海"],"商品": ["苹果""苹果""香蕉""苹果""香蕉""橙子""橙子""苹果"],"销量": [12095150801306090110],"单价": [55353445],"月份": ["1月""1月""1月""1月""2月""2月""2月""2月"]}df = pd.DataFrame(data)df["销售额"] = df["销量"] * df["单价"]print(df)

输出大致会像这样:

   门店  商品   销量  单价 月份  销售额0  北京  苹果  12051月   6001  上海  苹果   9551月   4752  北京  香蕉  15031月   4503  广州  苹果   8051月   4004  上海  香蕉  13032月   3905  北京  橙子   6042月   2406  广州  橙子   9042月   3607  上海  苹果  11052月   550

这一张表已经足够我们讲清楚大多数常见操作。

三、筛选:先学会从整张表里精准找数据

筛选,是 Pandas 里最常做的动作之一。

因为真实分析很少是一上来就看全表。 你通常会先限定范围,比如:

只看某个门店 只看某种商品 只看销量高于某个值 只看某个月份 只看符合多个条件的数据

这就是筛选。

四、最基础的单条件筛选

比如只看北京门店的数据:

print(df[df["门店"] == "北京"])

这行代码非常经典,建议你彻底理解。

先看里面这部分:

df["门店"] == "北京"

它会得到一个布尔序列,类似这样:

0True1False2True3False4False5True6False7FalseName: 门店, dtype: bool

然后最外层:

df[条件]

就会把满足条件的行筛出来。

再比如筛出销量大于 100 的记录:

print(df[df["销量"] > 100])

筛出销售额大于等于 500 的记录:

print(df[df["销售额"] >= 500])

这种写法以后你会反复用到,必须尽快练顺。

五、多条件筛选,是实战中的常态

真实场景里,很少只用一个条件。 大多数时候,你都要多个条件一起限制。

比如:

北京门店里,销量大于 100 的记录

print(df[(df["门店"] == "北京") & (df["销量"] > 100)])

这里有两个关键点一定要记住。

第一,用的是 &,不是 and。 第二,每个条件都要单独加括号。

很多初学者最容易在这里报错。

再比如,筛出“上海门店的苹果”:

print(df[(df["门店"] == "上海") & (df["商品"] == "苹果")])

如果是“苹果或者橙子”:

print(df[(df["商品"] == "苹果") | (df["商品"] == "橙子")])

这里用的是 |,表示逻辑或。

所以你可以记成:

且,用 &或,用 |

这是 Pandas 条件筛选里最基础也最重要的规则之一。

六、isin:筛多个候选值时特别好用

比如你想筛出“北京和上海”两个门店的数据。 你当然可以这样写:

print(df[(df["门店"] == "北京") | (df["门店"] == "上海")])

能用,但不够优雅。

更常见的是用 isin()

print(df[df["门店"].isin(["北京""上海"])])

如果要筛商品在“苹果、橙子”中的记录:

print(df[df["商品"].isin(["苹果""橙子"])])

这在多值筛选时非常常见,也更容易读。

七、notna 和 isna:筛空值与非空值

现实表格数据经常有缺失值。 这时你会需要只看缺失的,或者只看不缺失的。

先造一个简单例子:

import pandas as pddata = {"姓名": ["张三""李四""王五"],"成绩": [88None75]}df2 = pd.DataFrame(data)print(df2)

筛出成绩缺失的行:

print(df2[df2["成绩"].isna()])

筛出成绩不缺失的行:

print(df2[df2["成绩"].notna()])

这类操作在数据清洗时非常高频。

八、query:筛选还能写得更像自然语言

Pandas 还提供一个很实用的方法叫 query()

比如筛出销量大于 100:

print(df.query("销量 > 100"))

筛出北京门店:

print(df.query("门店 == '北京'"))

多个条件:

print(df.query("门店 == '上海' and 商品 == '苹果'"))

这个写法有时候会比传统布尔筛选更直观。

不过入门阶段建议你先把最基础的:

df[条件]

练熟,再慢慢补 query()。 因为基础布尔筛选适用面更广,也更容易帮助你理解底层逻辑。

九、排序:让数据按你想看的方式重新排好

筛选解决的是“要哪些数据”。 排序解决的是“这些数据按什么顺序看”。

比如你想知道:

哪个门店销售额最高 哪个商品销量最高 哪些记录从大到小排 哪些记录从小到大排

这时就要用排序。

最常用的方法是:

sort_values()

十、按单列排序

比如按销量升序:

print(df.sort_values("销量"))

按销量降序:

print(df.sort_values("销量", ascending=False))

这里的 ascending=False 表示降序。 如果不写,默认是升序。

再比如按销售额从高到低排:

print(df.sort_values("销售额", ascending=False))

这在查看排行榜、Top N 数据时特别有用。

十一、按多列排序

有时候你想先按一个字段排,如果相同再按另一个字段排。

比如:

先按门店升序,再按销量降序:

print(df.sort_values(["门店""销量"], ascending=[TrueFalse]))

这里你可以理解成:

先把门店分好顺序 同一门店内部,再把销量高的放前面

这在整理复杂报表时很有价值。 因为真实数据经常不止一个排序维度。

十二、sort_index:按索引排序

除了按列值排序,你还可以按行索引排序:

print(df.sort_index())

不过在多数业务场景里,更常用的还是 sort_values()。 因为我们通常关心的是某列的业务含义,而不是左边索引号。

十三、筛选和排序,经常是连着用的

真实分析里,这两个动作通常不是分开的,而是组合使用。

比如:

先筛出北京门店的数据,再按销售额降序:

result = df[df["门店"] == "北京"].sort_values("销售额", ascending=False)print(result)

再比如:

先筛出苹果商品,再按销量从高到低看:

result = df[df["商品"] == "苹果"].sort_values("销量", ascending=False)print(result)

这种“先过滤,再排序”的写法,在实际工作里非常常见。

十四、分组:从“看明细”走向“看汇总”

如果说筛选和排序更多是在整理明细,那分组就是开始进入汇总分析。

比如你会想看:

每个门店总销量是多少 每种商品总销售额是多少 每个月的总销售额是多少 每个门店每种商品卖了多少

这类问题,本质上都是:

先按某个字段分组 再对每组做统计

Pandas 里最核心的方法就是:

groupby()

这几乎是 Pandas 数据分析最重要的方法之一。

十五、最简单的分组:按一个字段分

比如按门店分组,统计销量总和:

print(df.groupby("门店")["销量"].sum())

你可以把这句拆开理解:

先按“门店”分组 再取“销量”这一列 再对每组求和

结果大致会像这样:

门店北京    330上海    335广州    170Name: 销量, dtype: int64

这已经很像一张小汇总表了。

再比如按商品分组,看销售额总和:

print(df.groupby("商品")["销售额"].sum())

结果会告诉你每种商品一共卖了多少钱。

这就是分组的核心价值:

明细数据一大堆 分组后立刻变成结构清晰的汇总结果

十六、聚合:分组后到底做什么统计

分组只是“先把数据分成几堆”。 真正有价值的是分完组以后做什么运算。

最常见的聚合动作有:

sum 求和 mean 求平均值 max 求最大值 min 求最小值 count 计数 median 求中位数

比如按门店分组,看销售额平均值:

print(df.groupby("门店")["销售额"].mean())

按商品分组,看销量最大值:

print(df.groupby("商品")["销量"].max())

按月份分组,看记录条数:

print(df.groupby("月份")["商品"].count())

所以你要慢慢理解:

groupby 是分组动作 sum、mean、count 这些才是聚合动作

两者经常一起出现。

十七、agg:一次做多个聚合,非常实用

有时候你不是只想看一个统计值,而是想一次看多个结果。

比如按门店分组,同时看销量总和、平均值、最大值:

print(df.groupby("门店")["销量"].agg(["sum""mean""max"]))

输出大致会像这样:

      sum        mean  max门店北京   330110.000000150上海   335111.666667130广州   17085.00000090

这就特别像正式分析报表了。

再比如对销售额做多个统计:

print(df.groupby("商品")["销售额"].agg(["sum""mean""count"]))

你会发现,agg() 一下就把汇总信息丰富起来了。

这是实战里非常值得熟练掌握的写法。

十八、分组后按多列聚合

还可以一次对多列做统计。

比如按门店分组,同时看销量和销售额的汇总:

print(df.groupby("门店")[["销量""销售额"]].sum())

输出会是一张更完整的小表:

      销量  销售额门店北京   3301290上海   3351415广州   170760

这在做经营分析、销售汇总、门店报表时非常常见。

十九、按多个字段分组:进入更细颗粒度分析

如果只按门店分组,结果还是比较粗。 如果你想更细一点,比如:

每个门店、每种商品分别卖了多少

那就要按多个字段一起分组:

print(df.groupby(["门店""商品"])["销量"].sum())

这会得到一个层级索引结果,大致像这样:

门店  商品北京  橙子     60    苹果    120    香蕉    150上海  苹果    205    香蕉    130广州  橙子     90    苹果     80Name: 销量, dtype: int64

这类结果在实战里特别常见,因为很多业务都不是单维度分析。 你既想看门店,又想看商品;既想看月份,又想看地区。

多字段分组,就是应对这种场景的基础能力。

二十、reset_index:让分组结果重新变回普通表

很多初学者看到多重索引结果,会觉得有点别扭。 因为它看起来不像平常那张普通表了。

这时候特别常用的一个方法是:

reset_index()

比如:

result = df.groupby(["门店""商品"])["销量"].sum().reset_index()print(result)

这样输出会更像普通表格:

   门店  商品   销量0  北京  橙子   601  北京  苹果  1202  北京  香蕉  1503  上海  苹果  2054  上海  香蕉  1305  广州  橙子   906  广州  苹果   80

这一步非常有用。 因为很多时候你分组分析完,还要继续排序、导出、画图。 把结果 reset_index() 回普通表,后续操作会更方便。

二十一、as_index=False:一开始就让分组结果保持表格风格

除了先分组再 reset_index(),你也可以在分组时直接指定:

result = df.groupby(["门店""商品"], as_index=False)["销量"].sum()print(result)

这样结果一开始就是普通 DataFrame 风格。

这也是非常常见的写法。 尤其当你知道后面还要继续处理时,这种写法很顺手。

二十二、size 和 count,很多人容易混

这两个都能“统计数量”,但意义不完全一样。

先看 size()

print(df.groupby("门店").size())

它统计的是每组有多少行。

再看 count()

print(df.groupby("门店")["商品"].count())

它统计的是某一列中非空值的数量。

如果数据里没有缺失值,结果可能一样。 但一旦有空值,差别就出来了。

所以你可以简单记:

size() 更像统计组内总行数count() 更像统计某列有效值数量

这在脏数据处理中很重要。

二十三、value_counts:某列各值出现次数统计

虽然不属于严格的 groupby 语法,但在实际分析里非常常见。

比如统计每种商品出现多少次:

print(df["商品"].value_counts())

统计各门店记录条数:

print(df["门店"].value_counts())

这其实就是一种非常快捷的“单列分组计数”。

如果你只是想快速看某列分布,value_counts() 特别省事。

二十四、一个完整的小案例:做一张销售汇总表

我们现在把前面的操作串起来,做一遍真实感更强的流程。

目标:

先看 2 月数据 再按门店和商品分组 统计销量和销售额总和 最后按销售额从高到低排序

代码:

result = (    df[df["月份"] == "2月"]    .groupby(["门店""商品"], as_index=False)[["销量""销售额"]]    .sum()    .sort_values("销售额", ascending=False))print(result)

这段代码非常值得你反复体会。

它几乎就是很多真实 Pandas 分析代码的缩影:

先筛选 再分组 再聚合 再排序

如果你能把这条链条真正看懂,很多业务分析任务就不再抽象了。

二十五、链式写法为什么越来越常见

你刚才会发现,我们已经开始写这种形式:

df[条件].groupby(...).sum().sort_values(...)

这叫链式写法。

它的好处是:

步骤连续 逻辑清楚 适合表达一整条处理流程

当然,初学阶段如果你觉得太长不好读,也完全可以拆开写:

df_2 = df[df["月份"] == "2月"]grouped = df_2.groupby(["门店""商品"], as_index=False)[["销量""销售额"]].sum()result = grouped.sort_values("销售额", ascending=False)print(result)

两种都行。

刚入门时,建议你先把思路写清楚。 熟练后再慢慢接受链式风格。

二十六、筛选、排序、分组、聚合之间的真实关系

这一章学到这里,你要慢慢建立一个整体理解。

筛选,是限定范围。 排序,是调整顺序。 分组,是按字段拆堆。 聚合,是对每堆做统计。

很多数据处理任务,并不是只做其中一种,而是它们组合使用。

比如:

先筛出某个月的数据 按门店分组 统计销售额 最后按结果降序排序

或者:

先筛出某个商品 按月份分组 求平均销量 再把结果导出

所以不要把这四类操作割裂开记。 你要把它们理解成 DataFrame 分析流程中的四个基础积木。

二十七、最容易踩的几个坑

1. 多条件筛选时忘记加括号

错误高发区。 每个条件都要单独用括号包起来。

2. 用 and、or 代替 &、|

在 Pandas 里通常要用位运算符风格的 & 和 |

3. 分组后看不懂结果为什么像“层级索引”

这是正常现象。 用 reset_index() 或 as_index=False 往往就能变回普通表。

4. 把 groupby 当成“已经统计完”

其实 groupby() 只是分组,后面还要接 sum()mean()agg() 等聚合动作。

5. 排序后忘记自己已经改变顺序

后面继续看行时,要注意当前结果已不是原始表顺序。

6. value_counts、size、count 概念混淆

这几个都能“数数量”,但含义不完全一样。

二十八、这一章你最该练熟的代码骨架

你不用一下记住所有变化,先把下面这些骨架练熟,就已经很够用了。

单条件筛选:

df[df["销量"] > 100]

多条件筛选:

df[(df["门店"] == "北京") & (df["销量"] > 100)]

排序:

df.sort_values("销售额", ascending=False)

单字段分组聚合:

df.groupby("商品")["销量"].sum()

多字段分组聚合:

df.groupby(["门店""商品"], as_index=False)[["销量""销售额"]].sum()

多聚合统计:

df.groupby("门店")["销量"].agg(["sum""mean""max"])

只要这几套骨架顺了,很多实际问题你都能开始自己改着写。

二十九、本章要点整理

Pandas 最常见、最核心的操作,就是筛选、排序、分组、聚合。 筛选用于从整张表中找出符合条件的数据。 多条件筛选通常使用 & 和 |,并为每个条件加括号。 排序最常用的方法是 sort_values(),可按单列或多列排序。 分组通过 groupby() 实现,本质是先按字段把数据拆成若干组。 聚合是在分组之后做统计,如 sum()mean()count()max()agg() 可以一次完成多个聚合统计。 多字段分组后常可配合 reset_index() 或 as_index=False 把结果整理回普通表。 实际分析中,这四类操作经常组合使用,而不是单独存在。 真正掌握它们,Pandas 才算开始进入实战阶段。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 13:34:53 HTTP/2.0 GET : https://f.mffb.com.cn/a/510810.html
  2. 运行时间 : 0.283901s [ 吞吐率:3.52req/s ] 内存消耗:4,799.84kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fec2afd658991193f0edabc4962ead0e
  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.000874s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001669s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000731s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000718s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001347s ]
  6. SELECT * FROM `set` [ RunTime:0.000619s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001698s ]
  8. SELECT * FROM `article` WHERE `id` = 510810 LIMIT 1 [ RunTime:0.059593s ]
  9. UPDATE `article` SET `lasttime` = 1787290493 WHERE `id` = 510810 [ RunTime:0.021094s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.002399s ]
  11. SELECT * FROM `article` WHERE `id` < 510810 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003784s ]
  12. SELECT * FROM `article` WHERE `id` > 510810 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003672s ]
  13. SELECT * FROM `article` WHERE `id` < 510810 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004950s ]
  14. SELECT * FROM `article` WHERE `id` < 510810 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006053s ]
  15. SELECT * FROM `article` WHERE `id` < 510810 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.013536s ]
0.287443s