当前位置:首页>python>《Python 从入门到精通》146|DataFrame 是什么:理解 Pandas 的核心对象

《Python 从入门到精通》146|DataFrame 是什么:理解 Pandas 的核心对象

  • 2026-08-19 11:23:07
《Python 从入门到精通》146|DataFrame 是什么:理解 Pandas 的核心对象

一、真正学 Pandas,绕不开 DataFrame

很多人刚接触 Pandas 时,会先记住几个方法:

read_csv()head()sort_values()dropna()

代码也能跟着写出来,表面上好像已经会用了。 但只要稍微复杂一点,问题很快就会出现。

为什么取一列后,结果看起来和原表不一样。 为什么有时候能按列操作,有时候却报错。 为什么同样是中括号,返回的东西却不总一样。 为什么加一列这么自然,改一行却老容易混。 为什么筛选完之后,再继续处理,结果总有点不对劲。

这些问题,归根到底通常都不是方法没背熟,而是没有真正理解 Pandas 的核心对象:DataFrame。

你可以把 Pandas 想成一套处理表格数据的工具体系。 而 DataFrame,就是这套体系里最核心的那张“表”。

如果这一章你把 DataFrame 真正理解透,后面学筛选、分组、聚合、合并、透视表时,会顺很多。 如果这一章没打稳,后面很容易一直停留在“会抄代码,但不太明白自己在干嘛”的状态。

二、先用一句最直白的话定义 DataFrame

DataFrame,本质上就是一张带行索引和列标签的二维表。

这句话里有三个关键词。

第一,二维。 说明它不是单独一列,不是一串值,而是按行和列组织的数据结构。

第二,行索引。 说明每一行都有自己的编号或标签。

第三,列标签。 说明每一列都有名字,不是光靠位置来区分。

所以你完全可以先把 DataFrame 理解成:

升级版的表格 或者 程序里的 Excel 工作表 或者 数据库查出来的一张结果表

它不是普通列表,也不是单纯二维数组,而是一种更贴近现实表格思维的数据结构。

三、为什么 DataFrame 比普通二维列表更像“真实数据”

先看二维列表:

data = [    ["张三"2088],    ["李四"2292],    ["王五"2175]]

这当然能表示三行数据。 但它有一个明显问题:语义不够清楚。

你得自己记住:

第 0 列是姓名 第 1 列是年龄 第 2 列是成绩

如果以后数据列一多,或者顺序一改,理解成本会很高。

再看 DataFrame:

import pandas as pddata = {"姓名": ["张三""李四""王五"],"年龄": [202221],"成绩": [889275]}df = pd.DataFrame(data)print(df)

输出大致是:

   姓名  年龄  成绩0  张三  20881  李四  22922  王五  2175

这一下就很清楚了。

列有名字。 行有索引。 看起来就是一张表。 操作时你也可以直接按“姓名”“年龄”“成绩”去取,而不是老去记第几列。

这就是 DataFrame 的第一个巨大价值:

它不仅存数据,还保留了数据结构的语义。

真实世界里的数据,最怕的不是数量多,而是你看不懂。 DataFrame 很大程度上就是在帮你把“数据的意义”一起带上。

四、DataFrame 到底由什么组成

你可以把一个 DataFrame 拆成三部分来看。

第一部分,数据本体。 也就是表格里的具体值,比如张三、20、88 这些。

第二部分,行索引。 左边那列 0、1、2,或者你自己定义的标签。

第三部分,列标签。 上面的“姓名”“年龄”“成绩”。

看例子:

import pandas as pddf = pd.DataFrame({"姓名": ["张三""李四""王五"],"年龄": [202221],"成绩": [889275]})

这里:

数据本体是三行三列的实际内容。 列标签是:姓名、年龄、成绩。 行索引默认是:0、1、2。

你可以分别查看:

print(df.columns)print(df.index)print(df.values)

其中:

df.columns 看列标签df.index 看行索引df.values 看底层数据值

这一步很重要,因为后面你会越来越清楚地意识到:

DataFrame 不是“只有数据”。 它是“数据 + 行列结构”。

五、DataFrame 和 Excel 表,到底像到什么程度

它们真的很像,但不是完全一样。

像的地方:

都有行和列 都有表头 都很适合存结构化记录 都能做筛选、排序、统计

不完全一样的地方:

Excel 更偏可视化手工操作 DataFrame 更偏程序化、批量化处理

也就是说,Excel 更像人工用的表。 DataFrame 更像程序用的表。

你在 Excel 里点筛选、点排序、写公式。 在 DataFrame 里,是通过代码去做同样的事,而且更适合批量重复处理。

所以如果你会 Excel,再学 DataFrame,通常会比较有感觉。 因为很多操作背后的“表格思维”是相通的。

六、DataFrame 为什么是 Pandas 的核心对象

因为现实里绝大多数需要 Pandas 处理的数据,最终都能落成一张表。

比如:

学生成绩表 销售明细表 订单表 用户表 接口返回整理表 日志提取表 爬虫抓取结果表 数据库查询结果表

这些数据虽然来源不同,但最后通常都会长成类似结构:

每一行是一条记录 每一列是一个字段

而这,正是 DataFrame 最擅长表示的形态。

所以很多 Pandas 操作,表面上是在学某个方法,实际上都是在围绕这张表做事情:

看表 取列 筛行 加列 改值 排序 分组 汇总 导出

这也是为什么说,真正理解 DataFrame,比死背零散方法更重要。

七、怎么创建一个 DataFrame

DataFrame 的创建方式不少,但入门阶段最常用的,主要记住三种就够了。

第一种,从字典创建

这是最常见的方式,尤其适合你自己手写测试数据。

import pandas as pddata = {"姓名": ["张三""李四""王五"],"年龄": [202221],"成绩": [889275]}df = pd.DataFrame(data)print(df)

这里的规则很自然:

字典的键,变成列名 字典的值列表,变成这一列的数据

这种方式特别适合初学和演示。

第二种,从列表套字典创建

这很贴近真实项目,因为很多接口返回的数据就长这样。

data = [    {"姓名""张三""年龄"20"成绩"88},    {"姓名""李四""年龄"22"成绩"92},    {"姓名""王五""年龄"21"成绩"75}]df = pd.DataFrame(data)print(df)

这里每个字典像一行记录。 Pandas 会自动把相同键整理成列。

第三种,从文件读取创建

这是最实战的方式。

df = pd.read_csv("data.csv")

或者:

df = pd.read_excel("data.xlsx")

现实开发里,很多 DataFrame 不是你手敲出来的,而是从文件、数据库、接口结果中读进来的。

八、默认索引是什么,为什么它很重要

看这张表:

import pandas as pddf = pd.DataFrame({"姓名": ["张三""李四""王五"],"年龄": [202221]})print(df)

输出大致是:

   姓名  年龄0  张三  201  李四  222  王五  21

左边的 0、1、2,就是默认索引。

很多新手会觉得它没什么用。 其实它很重要,因为它是 Pandas 区分“每一行”的基础标签。

你可以把它理解成表格里的行编号。 后面你按位置取行、按标签取行、重设索引、对齐数据时,都和索引密切相关。

默认索引只是最开始的自动编号。 你也可以自己指定:

df = pd.DataFrame(    {"年龄": [202221]    },    index=["张三""李四""王五"])print(df)

这时行索引就不再是数字,而变成名字。

所以以后你看到 DataFrame 左边那列,不要把它当成“顺手显示的装饰”。 那是 DataFrame 结构里非常正式的一部分。

九、列标签为什么比你想象得更重要

DataFrame 之所以好用,很大一个原因就在于列有名字。

你不是在操作“第 2 列”,而是在操作“成绩”这一列。 这会让代码特别接近业务表达。

比如:

df["成绩"]

你一眼就知道是在取成绩列。 如果换成二维列表,你往往得写:

row[2]

这就不够直观。

列标签的价值在于:

让代码更可读 让数据更有语义 降低列顺序变化带来的风险

所以后面你写 Pandas 代码时,要养成一个意识:

尽量按列名思考,而不是按位置思考。

这会让你写出来的代码更稳,也更像真实项目代码。

十、DataFrame 里,一列通常就是一个 Series

这个关系必须理顺。

看代码:

import pandas as pddf = pd.DataFrame({"姓名": ["张三""李四""王五"],"成绩": [889275]})col = df["成绩"]print(type(col))

通常输出是:

<class 'pandas.core.series.Series'>

也就是说:

DataFrame 是二维表 其中一列拿出来,通常会变成 Series Series 是一维结构

这个关系非常重要,因为你后面会经常遇到:

明明前一秒是表 取一列后,突然变成序列 有些方法还能用 有些行为已经不一样了

你可以先建立一个直觉:

DataFrame 像整张表 Series 像表中的一列

这个理解站稳后,很多 Pandas 操作就会自然很多。

十一、为什么取单列和取多列,结果不一样

这是新手最高频困惑之一。

看单列:

print(df["成绩"])

返回的是 Series。

看多列:

print(df[["姓名""成绩"]])

返回的是 DataFrame。

为什么。

因为单列是一维。 多列还是二维表。

所以这里有个非常值钱的记忆方式:

单中括号 + 单列名 通常得到 Series

双中括号 + 列名列表 通常得到 DataFrame

这不是单纯语法细节,而是和对象维度直接相关。 以后你写代码时,如果发现结果类型不对,先看看自己取的是一列还是多列。

十二、DataFrame 最像什么:数据库表

除了像 Excel,它其实也非常像数据库中的一张表。

你可以这样对比:

DataFrame 的一行 很像数据库表中的一条记录

DataFrame 的一列 很像数据库表中的一个字段

DataFrame 的列名 很像数据库字段名

DataFrame 的筛选条件 很像 SQL 里的 where

DataFrame 的排序 很像 SQL 里的 order by

DataFrame 的分组 很像 SQL 里的 group by

所以如果你以后会接触数据库,会发现 Pandas 很多思路都和表操作天然接近。 这也是它为什么特别适合中间层数据处理:

读出来 整理一下 算一下 再导出去

十三、DataFrame 的基础属性,最好先熟悉

拿到一张表后,最先要学会“认识它”。

比如:

import pandas as pddf = pd.DataFrame({"姓名": ["张三""李四""王五"],"年龄": [202221],"成绩": [889275]})

看看形状:

print(df.shape)

输出大致是:

(33)

表示 3 行 3 列。

看列名:

print(df.columns)

看索引:

print(df.index)

看数据类型:

print(df.dtypes)

看底层值:

print(df.values)

这几项是你后面排错、理解结构时非常常见的入口。 尤其是 shape 和 dtypes,非常值得常看。

十四、DataFrame 为什么特别适合“按列思维”处理数据

现实里的表格数据,很多时候都是按列分析的。

比如:

这列是不是年龄 这列是不是日期 这列是不是价格 这列有没有缺失值 这列的平均值是多少 这列是不是字符串类型 这列能不能转换成时间格式

Pandas 之所以强,很大一个原因就在于它特别鼓励按列思考。

比如你可以直接:

df["成绩"].mean()

求成绩均值。

df["年龄"] > 20

判断年龄列条件。

df["销售额"] = df["销量"] * df["单价"]

新增一列销售额。

这就是 DataFrame 的一个非常关键的设计思想:

整张表是主对象 每一列又可以被单独当成一个有意义的分析单元

这让它特别适合处理业务数据。

十五、DataFrame 不是只有数字,也可以装字符串、日期、布尔值

很多人一开始会把表格处理理解成“数字分析”。 其实真实世界里的表,往往是混合类型。

比如:

姓名是字符串 年龄是整数 生日是日期 是否会员是布尔值 成绩可能是浮点数 备注可能是缺失值

DataFrame 完全可以同时容纳这些列。 它不是 NumPy 那种强调整块统一数值类型的思路,而是更接近现实业务表。

看个例子:

import pandas as pddf = pd.DataFrame({"姓名": ["张三""李四""王五"],"年龄": [202221],"是否会员": [TrueFalseTrue]})print(df)print(df.dtypes)

你会看到不同列可以有不同类型。

这正是 Pandas 特别适合业务数据的原因。 因为现实中的表,本来就不是所有列都一个类型。

十六、为什么说 DataFrame 是“结构化数据”的最佳朋友

什么叫结构化数据。

简单说,就是数据不是一团乱文本,而是按字段组织好的。 每一条记录都有相对固定的结构。

比如:

用户表 订单表 商品表 成绩表 日志抽取后的字段表

这些都属于结构化数据。

而 DataFrame 天然就是为这种数据准备的。

一旦数据能整理成:

每行一条记录 每列一个字段

那后续的清洗、筛选、排序、统计、分组,就会变得非常自然。

所以很多原始数据处理的目标,其实就是把杂乱数据先整理成 DataFrame。 一旦变成表,后面的操作就好办了。

十七、理解 DataFrame,最关键的是理解“横着看”和“竖着看”

这是个很实用的直觉。

横着看,一行通常代表一条记录。 比如一个学生、一张订单、一位用户、一条日志。

竖着看,一列通常代表一个字段。 比如姓名、年龄、成绩、时间、价格。

所以当你面对一张表时,要同时能有这两种视角。

按行看: 我关心这条记录整体对不对。

按列看: 我关心这一列的数据质量、分布和规律。

Pandas 的很多操作,本质上就是在这两种视角间来回切换。

筛选行 新增列 删除列 改某几行某一列 按某列排序 按某列分组

只要你脑子里把“行是记录,列是字段”这件事站稳,DataFrame 的很多操作就会顺很多。

十八、一个小案例,把 DataFrame 的思维立起来

假设有这样一张订单表:

import pandas as pddf = pd.DataFrame({"订单号": [1001100210031004],"商品": ["苹果""香蕉""橙子""苹果"],"数量": [58310],"单价": [6356]})print(df)

这张表里:

每一行,是一张订单记录 每一列,是订单的某个字段

现在新增一列总价:

df["总价"] = df["数量"] * df["单价"]print(df)

你会发现这非常自然。 因为你是在对两个列做计算,得到一个新列。

再筛选苹果订单:

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

再看总价平均值:

print(df["总价"].mean())

这些操作之所以顺,不是因为 Pandas 神,而是因为 DataFrame 这张表的思维方式,和你的业务目标是对齐的。

十九、初学者最容易把 DataFrame 想窄的几个地方

第一,只把它当成“读 Excel 的工具”

这太小看它了。 它当然能读表,但它真正厉害的是“对表做程序化处理”。

第二,只把它当成“数据分析工具”

其实自动化办公、报表处理、日志清洗、接口结果整理、数据库结果加工,都非常适合用 DataFrame。

第三,只把它当成“高级二维列表”

这也不够准确。 它有索引、列标签、数据类型管理、对齐机制、统计方法、缺失值处理等很多表格级能力。

第四,只会用,不理解对象结构

这样后面一旦操作复杂,特别容易混乱。

所以这一章最重要的不是让你多背几个方法,而是让你对 DataFrame 建立一个更像样的模型。

二十、DataFrame 学到这里,最该形成的几个判断

你现在应该慢慢建立这些判断。

看到一张结构化表格数据,就应该想到 DataFrame。 看到 DataFrame,就要知道它有行索引、列标签和数据本体。 取单列通常得到 Series,取多列通常还是 DataFrame。 DataFrame 的一行更像一条记录,一列更像一个字段。 它特别适合做表格数据的筛选、整理、统计和导出。

这些判断一旦建立,后面学任何 Pandas 操作,你都不会只是机械模仿,而会更清楚自己是在动哪一层结构。

二十一、本章要点整理

DataFrame 是 Pandas 最核心的对象,本质上是一张带行索引和列标签的二维表。 它特别适合表示结构化数据,比如成绩表、订单表、销售表、用户表。 一个 DataFrame 通常由数据本体、行索引、列标签三部分组成。 单列取出后通常是 Series,多列取出后通常仍然是 DataFrame。 DataFrame 很像 Excel 表,也很像数据库表,但更适合程序化批量处理。 它支持不同列存放不同类型的数据,因此非常适合真实业务表格。 理解 DataFrame 的关键,在于建立“行是记录,列是字段”的思维。 后续 Pandas 的筛选、排序、分组、聚合,本质上都是围绕这张表展开的。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 13:37:25 HTTP/2.0 GET : https://f.mffb.com.cn/a/510701.html
  2. 运行时间 : 0.348335s [ 吞吐率:2.87req/s ] 内存消耗:4,595.59kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a50da007c5d68bed03d7eb2dc2d9f486
  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.001173s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001799s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.005350s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.009868s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001457s ]
  6. SELECT * FROM `set` [ RunTime:0.008744s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001515s ]
  8. SELECT * FROM `article` WHERE `id` = 510701 LIMIT 1 [ RunTime:0.040613s ]
  9. UPDATE `article` SET `lasttime` = 1787290645 WHERE `id` = 510701 [ RunTime:0.009559s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.002467s ]
  11. SELECT * FROM `article` WHERE `id` < 510701 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009584s ]
  12. SELECT * FROM `article` WHERE `id` > 510701 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001137s ]
  13. SELECT * FROM `article` WHERE `id` < 510701 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.013905s ]
  14. SELECT * FROM `article` WHERE `id` < 510701 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.070724s ]
  15. SELECT * FROM `article` WHERE `id` < 510701 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001115s ]
0.349912s