当前位置:首页>python>Python 分析单细胞:pandas 数据框操作

Python 分析单细胞:pandas 数据框操作

  • 2026-08-22 01:12:25
Python 分析单细胞:pandas 数据框操作

前两篇我们分别学习了 Python 基础和 Python 进阶语法。这一篇专门讲 pandas 数据框 DataFrame 的操作。这篇只聚焦 pandas 本身,不展开 AnnData,也不系统讲 metadata 整理。因为后面介绍 AnnData、单样本和多样本数据处理时,adata.obs、adata.var、样本信息表和分组信息表,本质上都会大量用到 pandas DataFrame。


一、为什么单细胞分析要学 pandas?

在 Python 单细胞分析中,pandas 是非常重要的基础工具。

后面你会频繁看到:

adata.obsadata.var

它们看起来像普通表格,本质上就是 pandas DataFrame。

因此,在正式学习 AnnData 之前,先掌握 pandas 的常见操作会非常有帮助。

这一篇主要包括:

1. 创建 DataFrame2. 查看 DataFrame3. 读取 csv / tsv4. 行名和列名5. 提取行和列6. 条件筛选7. 增加、修改和删除8. 排序9. 分组统计10. 合并数据框

第一部分:创建 DataFrame

二、导入 pandas

使用 pandas 前,需要先导入:

import pandas as pd

通常约定把 pandas 简写成 pd。


三、用字典创建 DataFrame

先创建一个学生成绩表,方便理解数据框的基本操作。

import pandas as pddf = pd.DataFrame({ ”姓名”: [”李一”, ”燕三”, ”赵四”], ”语文”: [928277], ”数学”: [988992], ”英语”: [1009272]})df

结果:

姓名 语文 数学 英语0 李一 92 98 1001 燕三 82 89 922 赵四 77 92 72

这里可以理解为:

字典的 key 变成列名字典的 value 变成每一列的数据

四、把姓名作为行名

很多时候,我们希望姓名不是普通列,而是行名。

df = pd.DataFrame({ ”语文”: [92, 82, 77], ”数学”: [98, 89, 92], ”英语”: [100, 92, 72]}, index=[”李一”, ”燕三”, ”赵四”])df

结果:

语文 数学 英语李一 92 98 100燕三 82 89 92赵四 77 92 72

这里的 index 就是行名。

在单细胞分析里,barcode 通常也会作为行名。


第二部分:查看 DataFrame

五、查看前几行

df.head()

默认查看前 5 行。

如果想查看前 2 行:

df.head(2)

六、查看后几行

df.tail()

如果想查看后 2 行:

df.tail(2)

七、查看行列数

df.shape

输出类似:

(3, 3)

意思是:

3 行,3 列

八、查看列名和行名

查看列名:

df.columns

查看行名:

df.index

查看数据类型:

df.dtypes

第三部分:读取 csv 和 tsv 文件

九、读取 csv 文件

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

如果第一列是行名:

df = pd.read_csv(”data.csv”, index_col=0)

十、读取 tsv 文件

pandas 里面没有 pd.read_tsv()。

读取 tsv 要用:

df = pd.read_csv(”data.tsv”, sep=”\t”)

如果第一列是行名:

df = pd.read_csv(”data.tsv”, sep=”\t”, index_col=0)

十一、index_col=0 是什么意思?

index_col=0

意思是:

把第 0 列,也就是第一列,作为 DataFrame 的行名。

例如 tsv 文件长这样:

barcode in_tissue array_row array_colAAACAAGTATCTCCCA-1 1 50 102AAACAATCTACTAGCA-1 1 3 43

如果不加 index_col=0,barcode 会变成普通列。

如果加上:

df = pd.read_csv(”qc_metadata.tsv”, sep=”\t”, index_col=0)

那么 barcode 就会成为行名。


第四部分:提取列

十二、提取一列

df[”语文”]

结果是一个 Series:

李一 92燕三 82赵四 77Name: 语文, dtype: int64

十三、提取多列

df[[”语文”, ”数学”]]

结果仍然是 DataFrame:

语文 数学李一 92 98燕三 82 89赵四 77 92

注意:

df[”语文”]

是一列,返回 Series。

df[[”语文”]]

也是一列,但返回 DataFrame。


第五部分:提取行

十四、使用 loc 按行名提取

df.loc[”李一”]

提取李一这一行。

如果提取多行:

df.loc[[”李一”, ”赵四”]]

结果:

语文 数学 英语李一 92 98 100赵四 77 92 72

loc 是按名字提取。


十五、使用 iloc 按位置提取

df.iloc[0]

提取第 0 行,也就是第一行。

提取前两行:

df.iloc[0:2]

注意 Python 切片左闭右开:

0:2 取第 0 行和第 1 行,不取第 2 行

iloc 是按位置提取。


十六、loc 和 iloc 的区别

loc 按行名、列名提取iloc 按数字位置提取

例如:

df.loc[”李一”, ”语文”]

表示取李一的语文成绩。

df.iloc[00]

表示取第 0 行、第 0 列的值。


第六部分:条件筛选

十七、筛选数学成绩大于 90 的学生

df2 = df[df[”数学”] > 90]df2

结果:

语文 数学 英语李一 92 98 100赵四 77 92 72

这里的逻辑是:

df[”数学”] > 90

先生成一组 True / False:

李一 True燕三 False赵四 TrueName: 数学, dtype: bool

然后用这组 True / False 筛选数据框。


十八、多条件筛选

例如筛选数学大于 90,并且英语大于 80 的学生:

df3 = df[ (df[”数学”] > 90) & (df[”英语”] > 80)]df3

在 pandas 里面:

and 要写成 &or 要写成 |not 要写成 ~

而且每个条件都要用小括号包起来。

错误写法:

df[(df[”数学”] > 90) and (df[”英语”] > 80)]

正确写法:

df[(df[”数学”] > 90) & (df[”英语”] > 80)]

十九、根据行名筛选

如果想提取王五和赵四:

df.loc[[”王五”, ”赵四”]]

如果想判断行名是否属于某几个值:

df[df.index.isin([”王五”, ”赵四”])]

区别是:

df.loc[[”王五”, ”赵四”]] 按指定顺序提取df[df.index.isin(...)] 按原数据框顺序筛选

第七部分:增加、修改和删除

二十、增加一列

df[”总分”] = df[”语文”] + df[”数学”] + df[”英语”]df

结果:

语文 数学 英语 总分李一 92 98 100 290燕三 82 89 92 263赵四 77 92 72 241

二十一、增加一行

最简单的方法是用 loc。

df.loc[”王五”] = [65, 66, 67, 198]df

如果当前数据框没有 总分 这一列,则写:

df.loc[”王五”] = [65, 66, 67]

二十二、用 concat 合并新增行

新版 pandas 中不推荐再使用 append(),更推荐 pd.concat()。

student_new = pd.DataFrame({ ”语文”: [65], ”数学”: [66], ”英语”: [67]}, index=[”王五”])df2 = pd.concat([df, student_new])df2

注意,新建 DataFrame 时,字典应该这样写:

pd.DataFrame({ ”语文”: [65], ”数学”: [66], ”英语”: [67]}, index=[”王五”])

不要写成多个字典:

pd.DataFrame({”语文”: ”65”}, {”数学”: ”66”}, {”英语”: ”67”}, index=[”王五”])

这种写法会报错。


二十三、修改某个值

例如修改王五的数学成绩:

df2.loc[”王五”, ”数学”] = 90df2

二十四、删除一列

删除 总分 这一列:

df2 = df2.drop(columns=[”总分”])

如果没有 总分 这一列,就不要执行这句。


二十五、删除一行

删除王五这一行:

df2 = df2.drop(index=[”王五”])

第八部分:排序

二十六、按数学成绩排序

升序:

df.sort_values(”数学”)

降序:

df.sort_values(”数学”, ascending=False)

二十七、按行名排序

df.sort_index()

第九部分:统计和分组

二十八、value_counts:统计每个值出现几次

例如统计每个语文成绩出现几次:

df[”语文”].value_counts()

如果想按分数排序:

df[”语文”].value_counts().sort_index()

二十九、groupby:分组统计

例如按语文成绩分组,统计每组人数:

df_yuwen = df.groupby(”语文”)df_yuwen.size()

结果类似:

语文65 177 182 192 2dtype: int64

这里左边的 65、77、82、92 是分组后的 index。右边的数字是每个分数出现的次数。

如果想变成普通数据框:

df_count = df.groupby(”语文”).size().reset_index(name=”人数”)df_count

结果:

语文 人数0 65 11 77 12 82 13 92 2

三十、按组计算平均值

例如按 cluster 计算平均 QC 指标:

qc_df.groupby(”clusters”)[[”n_genes_by_counts”, ”total_counts”]].mean()

虽然这里用了类似单细胞 QC 表的列名,但本质上仍然只是 pandas 的分组统计操作。


第十部分:合并数据框

三十一、concat:上下拼接

df_all = pd.concat([df1, df2])

适合把两个行结构相同的数据框上下合并。


三十二、concat:左右拼接

df_all = pd.concat([df1, df2], axis=1)

axis=1 表示按列拼接。


三十三、merge:按共同列合并

例如一个表是成绩,一个表是班级信息:

score_df = pd.DataFrame({ ”姓名”: [”李一”, ”燕三”, ”赵四”], ”语文”: [92, 82, 77]})class_df = pd.DataFrame({ ”姓名”: [”李一”, ”燕三”, ”赵四”], ”班级”: [”一班”, ”一班”, ”二班”]})

按姓名合并:

merged_df = pd.merge(score_df, class_df, on=”姓名”)merged_df

结果:

姓名 语文 班级0 李一 92 一班1 燕三 82 一班2 赵四 77 二班

第十一部分:常见错误

1. pandas 没有 read_tsv

错误:

df = pd.read_tsv(”data.tsv”)

正确:

df = pd.read_csv(”data.tsv”, sep=”\t”)

2. 筛选 df2 时不要用 df 的条件

错误:

df5 = df2[df[”数学”] > 90]

正确:

df5 = df2[df2[”数学”] > 90]

筛选哪个数据框,条件也尽量来自同一个数据框。


3. 多行行名筛选不能直接用 == 列表

错误:

df6 = df2[df2.index == [”王五”, ”赵四”]]

正确:

df6 = df2.loc[[”王五”, ”赵四”]]

或者:

df6 = df2[df2.index.isin([”王五”, ”赵四”])]

4. 增加行时 DataFrame 写法错误

错误:

student_new = pd.DataFrame({”语文”: ”65”}, {”数学”: ”66”}, {”英语”: ”67”}, index=[”王五”])

正确:

student_new = pd.DataFrame({ ”语文”: [65], ”数学”: [66], ”英语”: [67]}, index=[”王五”])

本篇小结

这一篇专门介绍了 pandas 数据框的基础操作:

1. 创建 DataFrame2. 查看 DataFrame3. 读取 csv / tsv 文件4. index_col=0 的含义5. 提取行和列6. loc / iloc7. 条件筛选8. 增加、修改和删除9. 排序10. value_counts 和 groupby11. concat 和 merge

这一篇先只讲 pandas 数据框本身,不展开 AnnData,也不讲复杂 metadata 整理。

下一篇可以正式进入:

AnnData 数据结构:认识 adata.X、adata.obs、adata.var、adata.uns、adata.obsm 和 adata.layers。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 02:14:51 HTTP/2.0 GET : https://f.mffb.com.cn/a/504266.html
  2. 运行时间 : 0.114710s [ 吞吐率:8.72req/s ] 内存消耗:4,779.04kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=072525cda0088a02c7fa2d66b618829f
  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.000568s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000695s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000285s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000305s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000463s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000610s ]
  8. SELECT * FROM `article` WHERE `id` = 504266 LIMIT 1 [ RunTime:0.012060s ]
  9. UPDATE `article` SET `lasttime` = 1787336091 WHERE `id` = 504266 [ RunTime:0.007782s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000243s ]
  11. SELECT * FROM `article` WHERE `id` < 504266 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000449s ]
  12. SELECT * FROM `article` WHERE `id` > 504266 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000387s ]
  13. SELECT * FROM `article` WHERE `id` < 504266 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009610s ]
  14. SELECT * FROM `article` WHERE `id` < 504266 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012095s ]
  15. SELECT * FROM `article` WHERE `id` < 504266 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003120s ]
0.116247s