当前位置:首页>python>Python数据分析基础:数据结构与NumPy入门-掌握高效数值计算的基础

Python数据分析基础:数据结构与NumPy入门-掌握高效数值计算的基础

  • 2026-02-28 01:14:20
Python数据分析基础:数据结构与NumPy入门-掌握高效数值计算的基础

做数据分析时,你是否遇到过这些问题:处理几十万行销售数据时程序慢如蜗牛?计算月度销售额要写冗长的循环代码?进行多维度统计时逻辑混乱容易出错?今天,我们带你掌握数据分析的“加速器”——NumPy,让你用1行代码完成过去100行的计算任务,效率提升百倍!

一、核心知识点

1.1 Python核心数据结构回顾

1.2 NumPy数组基础

  • • 是什么:NumPy的核心数据结构——ndarray(N维数组),是同构数据(相同数据类型)的多维容器,支持高效的数值运算。
  • • 为什么重要:相比Python列表,NumPy数组在内存使用和计算速度上有数十到数百倍的优势。它提供了向量化操作,避免了低效的Python循环。
  • • 怎么用:通过np.array()将列表转换为数组,使用np.arange()np.linspace()np.zeros()np.ones()等函数快速创建数组。

1.3 数组操作与索引

  • • 是什么:对NumPy数组进行访问、切片、形状变换和合并的操作方法。
  • • 为什么重要:实际业务数据往往需要提取特定子集、重组维度或合并多个数据源。高效的数据操作是分析的前提。
  • • 怎么用:掌握整数索引、切片索引、布尔索引、花式索引,以及reshape()transpose()concatenate()等形状操作函数。

1.4 NumPy高效计算:广播与向量化

  • • 是什么:NumPy的两大核心计算机制—— 广播(broadcasting) 允许不同形状数组进行算术运算; 向量化(vectorization) 将操作应用于整个数组而非单个元素。
  • • 为什么重要:广播机制让代码更简洁,避免显式循环;向量化运算利用底层C语言实现,性能远超Python循环。这是NumPy速度优势的核心。
  • • 怎么用:理解广播规则,使用+-*/等运算符进行逐元素运算,调用np.dot()进行矩阵乘法,使用np.mean()np.sum()np.std()等统计函数。

二、实战演练

2.1 环境准备

# 导入必要库import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 设置中文显示plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']plt.rcParams['axes.unicode_minus'] = False# 设置随机种子确保结果可复现np.random.seed(2026)print("✅ 环境准备完成!")print(f"NumPy版本:{np.__version__}")

2.2 数据准备:模拟销售数据

# 模拟2026年1月销售数据:30天,3种产品,5个销售区域# 数据维度:(天数, 产品数, 区域数) = (30, 3, 5)days = 30products = 3regions = 5# 生成销售数据:每天每个产品在每个区域的销售额(单位:万元)# 使用正态分布:均值50,标准差20,确保非负sales_data = np.random.normal(loc=50, scale=20, size=(days, products, regions))sales_data = np.abs(sales_data)  # 确保非负print("📊 销售数据基本信息:")print(f"数据形状:{sales_data.shape}")  # (30, 3, 5)print(f"数据类型:{sales_data.dtype}")  # float64print(f"总数据量:{sales_data.size:,} 个值")  # 30×3×5=450print(f"销售额范围:{sales_data.min():.2f} ~ {sales_data.max():.2f} 万元")print(f"平均销售额:{sales_data.mean():.2f} 万元")

2.3 核心操作演示

示例1:Python列表 vs NumPy数组性能对比

import time# 使用Python列表计算1百万个数的平方list_data = list(range(1_000_000))start_time = time.time()list_squares = [x ** 2for x in list_data]list_time = time.time() - start_time# 使用NumPy数组计算1百万个数的平方array_data = np.array(list_data)start_time = time.time()array_squares = array_data ** 2array_time = time.time() - start_timeprint("⚡ 性能对比:计算1百万个数的平方")print(f"Python列表耗时:{list_time:.4f} 秒")print(f"NumPy数组耗时:{array_time:.4f} 秒")print(f"NumPy加速比:{list_time/array_time:.1f} 倍")

示例2:数组创建与基本操作

# 1. 各种数组创建方法print("🎯 数组创建示例:")# 从列表创建arr_from_list = np.array([12345])print(f"从列表创建:{arr_from_list}")# 等差数列数组arr_arange = np.arange(0102)  # 0到10,步长2print(f"arange创建:{arr_arange}")# 等间距数组arr_linspace = np.linspace(015)  # 0到1,5个等间距点print(f"linspace创建:{arr_linspace}")# 全零数组arr_zeros = np.zeros((34))print(f"全零数组(3×4):\\n{arr_zeros}")# 全一数组arr_ones = np.ones((23))print(f"全一数组(2×3):\\n{arr_ones}")# 单位矩阵arr_identity = np.eye(3)print(f"单位矩阵(3×3):\\n{arr_identity}")

示例3:销售数据分析实战

# 2. 销售数据分析:基于模拟数据print("\\n💰 销售数据分析实战:")# 查看第一天的销售数据day1_sales = sales_data[0]  # 第一维度:天数print(f"第1天销售数据(产品×区域):\\n{day1_sales}")print(f"形状:{day1_sales.shape}")  # (3, 5)# 计算每日总销售额(沿产品和区域维度求和)daily_total = sales_data.sum(axis=(12))  # 对第1、2维求和print(f"\\n每日总销售额(30天):\\n{daily_total}")print(f"月销售总额:{daily_total.sum():.2f} 万元")# 计算每个产品的月度销售额product_monthly = sales_data.sum(axis=(02))  # 对天数、区域求和print(f"\\n各产品月度销售额:")for i, sales inenumerate(product_monthly):print(f"  产品{i+1}{sales:.2f} 万元")# 计算每个区域的月度销售额region_monthly = sales_data.sum(axis=(01))  # 对天数、产品求和print(f"\\n各区域月度销售额:")for i, sales inenumerate(region_monthly):print(f"  区域{i+1}{sales:.2f} 万元")

示例4:数组索引与切片

# 3. 高级索引技巧print("\\n🎯 数组索引与切片:")# 创建示例数组arr = np.array([[1234],                [5678],                [9101112]])print(f"原始数组(3×4):\\n{arr}")# 基本切片print(f"\\n1. 基本切片:")print(f"  第1行:{arr[0]}")  # [1 2 3 4]print(f"  第2列:{arr[:, 1]}")  # [2 6 10]print(f"  前2行,后2列:\\n{arr[:2, -2:]}")  # [[3 4], [7 8]]# 布尔索引:筛选销售额大于60的数据high_sales_mask = sales_data > 60high_sales_count = high_sales_mask.sum()print(f"\\n2. 布尔索引:销售额>60的记录数:{high_sales_count:,}")# 花式索引:提取特定产品在特定区域的数据product_indices = [02]  # 产品1和产品3region_indices = [134]  # 区域2、4、5selected_data = sales_data[:, product_indices][:, :, region_indices]print(f"\\n3. 花式索引:提取产品{product_indices}在区域{region_indices}的数据")print(f"  形状:{selected_data.shape}")  # (30, 2, 3)

示例5:广播机制演示

# 4. 广播机制:简化多维运算print("\\n🔄 广播机制演示:")# 示例:为每个产品设置不同的单价(万元/件)unit_prices = np.array([1.22.53.8])  # 3种产品的单价print(f"产品单价:{unit_prices} 万元/件")# 计算每日销售额(件数 × 单价)# sales_data形状:(30, 3, 5),unit_prices形状:(3,)# 广播规则:将unit_prices扩展为(1, 3, 1),与sales_data相乘daily_revenue = sales_data * unit_prices.reshape(131)print(f"\\n广播运算结果:")print(f"  原始销售数据形状:{sales_data.shape}")print(f"  单价数组形状:{unit_prices.shape}")print(f"  计算后收入数据形状:{daily_revenue.shape}")print(f"  第1天产品1在区域1的:")print(f"    销量:{sales_data[000]:.2f} 件")print(f"    收入:{daily_revenue[000]:.2f} 万元")# 验证广播正确性manual_calc = sales_data[000] * unit_prices[0]print(f"    手动验证:{manual_calc:.2f} 万元(一致√)")

示例6:统计函数应用

# 5. NumPy统计函数:快速洞察数据print("\\n📈 统计函数应用:")# 计算基本统计量print("销售数据统计摘要:")print(f"  均值:{sales_data.mean():.2f} 万元")print(f"  中位数:{np.median(sales_data):.2f} 万元")print(f"  标准差:{sales_data.std():.2f} 万元")  # 波动程度print(f"  方差:{sales_data.var():.2f}")print(f"  最小值:{sales_data.min():.2f} 万元")print(f"  最大值:{sales_data.max():.2f} 万元")print(f"  总和:{sales_data.sum():.2f} 万元")print(f"  百分位数(25%, 50%, 75%):{np.percentile(sales_data, [255075])}")# 计算相关系数矩阵(产品间相关性)# 将三维数据展平为二维:(30×5, 3) = (150, 3)flattened_data = sales_data.transpose(021).reshape(-1, products)correlation_matrix = np.corrcoef(flattened_data, rowvar=False)print(f"\\n产品间销售相关系数矩阵(3×3):")print(correlation_matrix)

三、常见问题与避坑指南

  • • 问题1:NumPy数组和Python列表有什么区别?
    • • 原因:初学者常混淆两者,导致性能问题或代码错误
    • • 解决方案
      1. 1. 内存效率:NumPy数组元素类型相同,内存连续;列表元素类型可不同,内存分散
      2. 2. 计算速度:NumPy向量化运算比Python循环快10-100倍
      3. 3. 功能差异:NumPy支持广播、高级索引、线性代数等科学计算功能
      4. 4. 选择原则:纯数值计算用NumPy,混合类型数据用列表
  • • 问题2:广播机制失败,提示"operands could not be broadcast together"
    • • 原因:不满足广播规则——从后往前比较维度,要么相等,要么其中一个为1,要么其中一个不存在
    • • 解决方案
      # 错误示例:形状(3,)和(4,)无法广播# 正确做法:调整为(3,1)和(1,4)或(4,1)和(3,1)a = np.array([123])b = np.array([4567])result = a[:, np.newaxis] + b[np.newaxis, :]  # 形状(3,4)
      1. 1. 使用reshape()调整数组形状
      2. 2. 使用np.newaxisNone添加新维度
      3. 3. 检查维度:arr1.shapearr2.shape
  • • 问题3:修改切片视图时影响原始数组
    • • 原因:NumPy切片返回的是**视图(view)**而非副本,修改视图会影响原始数据
    • • 解决方案
      arr = np.array([12345])view = arr[1:4]  # 视图view[0] = 99# arr也会被修改!copy = arr[1:4].copy()  # 副本copy[0] = 100# arr不受影响
      1. 1. 明确意图:需要副本时使用.copy()
      2. 2. 判断方法:arr.base is not None表示是视图
  • • 问题4:整数索引与切片索引行为不同
    • • 原因:使用整数索引会减少维度,切片索引保持维度
    • • 解决方案
      arr = np.array([[12], [34]])print(arr[0])     # [1, 2]  一维数组print(arr[0:1])   # [[1, 2]] 二维数组
      1. 1. 使用整数索引:arr[0]获取第0行(减少1维)
      2. 2. 使用切片索引:arr[0:1]获取包含第0行的子数组(保持维度)
      3. 3. 保持维度技巧:arr[[0]](花式索引)或arr[0:1]

四、总结与下一步

4.1 核心要点回顾

  1. 1. 数据结构升级:从Python列表/字典升级到NumPy数组,获得10-100倍性能提升
  2. 2. 数组创建:掌握np.array()np.arange()np.linspace()np.zeros()np.ones()等创建方法
  3. 3. 高效操作:利用向量化运算避免Python循环,使用广播简化多维计算
  4. 4. 统计洞察:调用np.mean()np.sum()np.std()等函数快速分析数据分布

4.2 拓展学习建议

  • • 初级:完成NumPy官方教程前3章,重点练习数组创建、索引和基本运算
  • • 中级:尝试用NumPy重写已有的Python数据分析代码,对比性能差异
  • • 高级:学习NumPy的线性代数模块(np.linalg),掌握矩阵分解等高级功能

4.3 互动区

今日话题:你在使用NumPy时遇到过哪些挑战?是广播规则难以掌握,还是数组形状操作容易出错?或者你有什么NumPy高效使用技巧?欢迎在评论区分享你的经验和问题,我们一起讨论解决!

附录:完整代码

"""数据结构与NumPy入门完整代码整合所有示例,确保可独立运行"""import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport time# ====================# 1. 环境准备# ====================plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']plt.rcParams['axes.unicode_minus'] = Falsenp.random.seed(2026)print("=" * 70)print("数据结构与NumPy入门完整演示")print("=" * 70)# ====================# 2. 性能对比演示# ====================print("\\n⚡ 性能对比:Python列表 vs NumPy数组")list_data = list(range(1_000_000))start_time = time.time()list_squares = [x ** 2for x in list_data]list_time = time.time() - start_timearray_data = np.array(list_data)start_time = time.time()array_squares = array_data ** 2array_time = time.time() - start_timeprint(f"Python列表耗时:{list_time:.4f} 秒")print(f"NumPy数组耗时:{array_time:.4f} 秒")print(f"NumPy加速比:{list_time/array_time:.1f} 倍")# ====================# 3. 数组创建示例# ====================print("\\n🎯 数组创建方法演示:")# 各种创建方式arr1 = np.array([12345])arr2 = np.arange(0102)arr3 = np.linspace(015)arr4 = np.zeros((34))arr5 = np.ones((23))arr6 = np.eye(3)print(f"从列表创建:{arr1}")print(f"arange创建:{arr2}")print(f"linspace创建:{arr3}")print(f"全零数组:\\n{arr4}")print(f"全一数组:\\n{arr5}")print(f"单位矩阵:\\n{arr6}")# ====================# 4. 销售数据分析实战# ====================print("\\n💰 销售数据分析实战:")# 生成模拟销售数据days, products, regions = 3035sales_data = np.abs(np.random.normal(loc=50, scale=20, size=(days, products, regions)))print(f"数据形状:{sales_data.shape}")print(f"数据类型:{sales_data.dtype}")print(f"平均销售额:{sales_data.mean():.2f} 万元")# 计算统计量daily_total = sales_data.sum(axis=(12))product_monthly = sales_data.sum(axis=(02))region_monthly = sales_data.sum(axis=(01))print(f"\\n月销售总额:{daily_total.sum():.2f} 万元")print(f"各产品月度销售额:{product_monthly}")print(f"各区域月度销售额:{region_monthly}")# ====================# 5. 广播机制演示# ====================print("\\n🔄 广播机制演示:")unit_prices = np.array([1.22.53.8])daily_revenue = sales_data * unit_prices.reshape(131)print(f"广播后收入数据形状:{daily_revenue.shape}")# ====================# 6. 统计函数应用# ====================print("\\n📈 统计摘要:")print(f"均值:{sales_data.mean():.2f}")print(f"标准差:{sales_data.std():.2f}")print(f"最小值/最大值:{sales_data.min():.2f} / {sales_data.max():.2f}")# ====================# 7. 总结报告# ====================print("\\n" + "=" * 70)print("演示完成!核心收获:")print("1. NumPy数组比Python列表快10-100倍")print("2. 掌握数组创建、索引、切片等基本操作")print("3. 理解广播机制,简化多维运算")print("4. 使用统计函数快速洞察数据分布")print("=" * 70)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 12:41:26 HTTP/2.0 GET : https://f.mffb.com.cn/a/477416.html
  2. 运行时间 : 0.182811s [ 吞吐率:5.47req/s ] 内存消耗:4,826.70kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bc09498298fd92a5451a3b626dd5dd3b
  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.000409s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000826s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000293s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000245s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000698s ]
  6. SELECT * FROM `set` [ RunTime:0.000200s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000513s ]
  8. SELECT * FROM `article` WHERE `id` = 477416 LIMIT 1 [ RunTime:0.012047s ]
  9. UPDATE `article` SET `lasttime` = 1772253686 WHERE `id` = 477416 [ RunTime:0.012601s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000230s ]
  11. SELECT * FROM `article` WHERE `id` < 477416 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002746s ]
  12. SELECT * FROM `article` WHERE `id` > 477416 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.022308s ]
  13. SELECT * FROM `article` WHERE `id` < 477416 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.039220s ]
  14. SELECT * FROM `article` WHERE `id` < 477416 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007700s ]
  15. SELECT * FROM `article` WHERE `id` < 477416 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.016369s ]
0.184525s