【PostgreSQL数据分析实战:从数据清洗到可视化全流程】8.1 基础图表绘制(折线图/柱状图/散点图)
👉 点击关注不迷路
👉 点击关注不迷路
👉 点击关注不迷路
文章大纲
- PostgreSQL数据分析实战:基础图表绘制(折线图/柱状图/散点图)
- 8.1 基础图表绘制
- 8.1.1 折线图:展现数据趋势
- 数据准备
- 图表绘制步骤
- 代码实现
- 效果分析
- 8.1.2 柱状图:对比不同类别数据
- 数据准备
- 图表绘制步骤
- 代码实现
- 效果分析
- 8.1.3 散点图:揭示变量间关系
- 数据准备
- 图表绘制步骤
- 代码实现
- 效果分析
- 总结
PostgreSQL数据分析实战:基础图表绘制(折线图/柱状图/散点图)
在数据分析领域,数据可视化是将复杂数据转化为直观信息的关键环节。
- 通过基础图表的绘制,我们能够清晰地展现数据的趋势、对比和关系。
- 本文将基于PostgreSQL数据库,结合具体数据和案例,详细介绍折线图、柱状图和散点图的绘制方法,帮助读者掌握从数据准备到图表呈现的全流程。
8.1 基础图表绘制
8.1.1 折线图:展现数据趋势
数据准备
我们以某电商平台2024年的月销售额数据为例,创建名为monthly_sales
的表格,用于存储月份和对应的销售额。表格结构如下:
字段名 | 数据类型 | 描述 |
---|---|---|
month | date | 月份,格式为YYYY-MM-DD |
sales | numeric | 销售额,单位为元 |
为了后续分析,我们插入以下示例数据,这些数据涵盖了1月至12月的销售额,能够清晰地展示一年中的销售变化趋势:
-- 创建表:月度销售额表
CREATE TABLE monthly_sales (month DATE PRIMARY KEY, -- 月份(主键,格式:YYYY-MM-DD)sales NUMERIC -- 销售额(单位:元,支持小数)
);-- 添加字段注释(可选,用于说明字段含义)
COMMENT ON COLUMN monthly_sales.month IS '月份,格式为 YYYY-MM-DD(例如:2024-01-01)';
COMMENT ON COLUMN monthly_sales.sales IS '销售额,单位为元,支持整数或小数(如 15000.50)';INSERT INTO monthly_sales (month, sales) VALUES
('2024-01-01', 15000),
('2024-02-01', 18000),
('2024-03-01', 22000),
('2024-04-01', 25000),
('2024-05-01', 28000),
('2024-06-01', 32000),
('2024-07-01', 30000),
('2024-08-01', 35000),
('2024-09-01', 38000),
('2024-10-01', 42000),
('2024-11-01', 48000),
('2024-12-01', 45000);
图表绘制步骤
-
- 导入所需库:使用
psycopg2
库连接PostgreSQL数据库,以便从数据库中获取数据;使用matplotlib.pyplot
库进行折线图的绘制,它是Python中常用的可视化库,功能强大且易于使用。
- 导入所需库:使用
-
- 建立数据库连接:通过提供数据库名称、用户、密码和主机等信息,建立与PostgreSQL数据库的连接,从而能够执行SQL查询语句获取数据。
-
- 获取并处理数据:执行SQL查询语句,从
monthly_sales
表中按月份升序获取月份和销售额数据。将获取到的月份数据格式化为"YYYY-MM"形式,以便在图表横轴上更清晰地显示;提取销售额数据,用于后续的图表绘制。
- 获取并处理数据:执行SQL查询语句,从
-
- 绘制折线图:设置图表的大小,使图表在显示时更加合适;使用
plot
函数绘制折线图,添加标记点和线条样式,使图表更具可读性;设置图表标题、横轴和纵轴标签,明确图表所展示的内容;旋转横轴刻度标签,避免标签之间相互重叠;添加网格线,方便观察数据点的具体数值。
- 绘制折线图:设置图表的大小,使图表在显示时更加合适;使用
-
- 显示图形:调用
show
函数显示绘制好的折线图。
- 显示图形:调用
代码实现
import psycopg2
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
from matplotlib.font_manager import FontProperties# 创建字体对象(指定中文字体文件路径,以Windows黑体为例)
font = FontProperties(fname='/home/fonts/simhei.ttf', size=14)# 连接数据库,这里需要根据实际的数据库信息进行修改
conn = psycopg2.connect(dbname="postgres",user="postgres",password="postgres",host="192.168.232.128",port="5432"
)
cur = conn.cursor()# 获取数据,按月份升序排列,确保数据顺序正确
cur.execute("SELECT month, sales FROM monthly_sales ORDER BY month")
data = cur.fetchall()# 处理数据,将月份格式化为"YYYY-MM",提取销售额
months = [d[0].strftime("%Y-%m") for d in data]
sales = [d[1] for d in data]# 绘制折线图
plt.figure(figsize=(12, 6)) # 设置图表大小
plt.plot(months, sales, marker='o', linestyle='-', color='#1f77b4', linewidth=2) # 绘制折线,添加标记、线条样式和颜色
plt.title("2024年月销售额趋势", fontsize=14, fontproperties=font) # 设置图表标题
plt.xlabel("月份", fontsize=12, fontproperties=font) # 设置横轴标签
plt.ylabel("销售额(元)", fontsize=12, fontproperties=font) # 设置纵轴标签
plt.xticks(rotation=45, ha='right') # 旋转横轴刻度标签并右对齐
plt.grid(True, linestyle='--', alpha=0.7) # 添加网格线
plt.tight_layout() # 调整布局,避免标签重叠plt.show() # 显示图表# 关闭数据库连接,释放资源
cur.close()
conn.close()
效果分析
从绘制的折线图中可以清晰地看出,2024年该电商平台的销售额整体呈现上升趋势。
- 1月至6月销售额稳步增长,6月达到一个小高峰,销售额为32000元;
- 7月销售额略有下降,可能是由于季节性因素或促销活动的影响;
- 8月至11月销售额再次快速增长,11月达到全年最高销售额48000元,这可能与双11等大型促销活动密切相关;
- 12月销售额稍有回落,但仍保持在较高水平。
- 通过折线图,我们能够直观地把握销售额的变化趋势,为制定销售策略和预测未来销售额提供有力依据。
8.1.2 柱状图:对比不同类别数据
数据准备
以某公司不同产品在2024年第四季度的销售额数据为例,创建名为product_sales_q4
的表格,用于存储产品名称和对应的销售额。表格结构如下:
字段名 | 数据类型 | 描述 |
---|---|---|
product | varchar(50) | 产品名称 |
sales | numeric | 销售额,单位为元 |
插入以下示例数据,包含了公司的四种主要产品在第四季度的销售额,便于进行产品之间的销售对比:
-- 创建表:2024年第四季度产品销售额表
CREATE TABLE product_sales_q4 (product VARCHAR(50) PRIMARY KEY, -- 产品名称(主键,唯一且非空)sales NUMERIC -- 销售额(单位:元,支持整数或小数)
);-- 添加字段注释(可选,用于说明字段含义)
COMMENT ON COLUMN product_sales_q4.product IS '产品名称,最大长度50字符(如:"智能手机")';
COMMENT ON COLUMN product_sales_q4.sales IS '销售额,单位为元,支持整数或小数(如 150000.00)';INSERT INTO product_sales_q4 (product, sales) VALUES
('笔记本电脑', 150000),
('智能手机', 200000),
('平板电脑', 120000),
('智能手表', 80000);
图表绘制步骤
-
- 导入所需库:同样使用
psycopg2
连接数据库,matplotlib.pyplot
绘制柱状图。
- 导入所需库:同样使用
-
- 建立数据库连接:与前面连接数据库的方法一致,使用正确的数据库信息建立连接。
-
- 获取并处理数据:执行SQL查询获取产品和销售额数据,提取产品名称和销售额,分别用于横轴和纵轴的数据展示。
-
- 绘制柱状图:设置图表大小,确保柱状图能够清晰显示;计算每个柱状的位置,使柱状图在横轴上均匀分布;绘制柱状图,设置柱状的宽度、颜色和边缘颜色,增加图表的美观度;设置图表标题、横轴和纵轴标签;添加数据标签,直接在柱状图上显示具体的销售额,方便读者查看;添加网格线,辅助观察数据。
代码实现
import psycopg2
import matplotlib.pyplot as plt# 连接数据库
conn = psycopg2.connect(dbname="postgres",user="postgres",password="postgres",host="192.168.232.128",port="5432"
)
cur = conn.cursor()# 获取数据
cur.execute("SELECT product, sales FROM product_sales_q4")
data = cur.fetchall()# 处理数据,提取产品名称和销售额
products = [d[0] for d in data]
sales_amount = [d[1] for d in data]# 绘制柱状图
plt.figure(figsize=(10, 6)) # 设置图表大小
bar_positions = range(len(products)) # 计算柱状位置
bar_width = 0.5 # 设置柱状宽度plt.bar(bar_positions, sales_amount, width=bar_width, color=['#ff7f0e', '#2ca02c', '#d62728', '#9467bd'], edgecolor='black') # 绘制柱状图,设置颜色和边缘颜色plt.title("2024年第四季度各产品销售额对比", fontsize=14, fontproperties=font) # 设置图表标题
plt.xlabel("产品", fontsize=12, fontproperties=font) # 设置横轴标签
plt.ylabel("销售额(元)", fontsize=12, fontproperties=font) # 设置纵轴标签
plt.xticks(bar_positions, products, fontproperties=font) # 设置横轴刻度标签为产品名称# 添加数据标签
for i, value in enumerate(sales_amount):plt.text(bar_positions[i], value, f'{value:,}', ha='center', va='bottom') # 在柱状顶部居中显示销售额,使用逗号分隔千位plt.grid(axis='y', linestyle='--', alpha=0.7) # 添加纵向网格线plt.show() # 显示图表# 关闭数据库连接
cur.close()
conn.close()
效果分析
通过柱状图可以直观地看出不同产品在2024年第四季度的销售额差异
。
- 智能手机的销售额最高,达到200000元,说明该产品在市场上具有较强的竞争力和受欢迎程度;
- 笔记本电脑的销售额次之,为150000元,表现也较为出色;
- 平板电脑销售额为120000元,处于中等水平;
- 智能手表销售额相对较低,为80000元。
- 通过柱状图的对比,我们能够清晰地了解各产品的销售情况,有助于公司调整产品策略,加大对畅销产品的投入,提升整体销售业绩。
8.1.3 散点图:揭示变量间关系
数据准备
以某在线教育平台用户的学习时长和考试成绩数据为例,创建名为user_learning_data
的表格,用于存储用户ID、学习时长和考试成绩。表格结构如下:
字段名 | 数据类型 | 描述 |
---|---|---|
user_id | int | 用户ID,唯一标识 |
study_hours | numeric | 学习时长,单位为小时 |
score | int | 考试成绩,满分100分 |
插入以下示例数据,这些数据包含了不同用户的学习时长和对应的考试成绩,用于分析学习时长与考试成绩之间的关系:
-- 创建表:用户学习数据记录表
CREATE TABLE user_learning_data (user_id INTEGER PRIMARY KEY, -- 用户ID(主键,唯一标识)study_hours NUMERIC NOT NULL, -- 学习时长(单位:小时,非空,支持小数如 2.5)score INTEGER NOT NULL CHECK (score BETWEEN 0 AND 100) -- 考试成绩(非空,0-100分)
);-- 添加字段注释(可选,用于说明字段含义)
COMMENT ON TABLE user_learning_data IS '存储用户学习时长与考试成绩的关联数据';
COMMENT ON COLUMN user_learning_data.user_id IS '用户唯一标识,整数类型(如 1, 2, 3)';
COMMENT ON COLUMN user_learning_data.study_hours IS '学习时长,单位为小时,支持整数或小数(如 10.5 表示10.5小时)';
COMMENT ON COLUMN user_learning_data.score IS '考试成绩,满分100分,必须为0到100之间的整数';INSERT INTO user_learning_data (user_id, study_hours, score) VALUES
(1, 10, 60),
(2, 15, 70),
(3, 20, 80),
(4, 25, 85),
(5, 30, 90),
(6, 12, 65),
(7, 18, 75),
(8, 22, 82),
(9, 28, 88),
(10, 35, 95);
图表绘制步骤
-
- 导入所需库:使用
psycopg2
连接数据库,matplotlib.pyplot
绘制散点图,同时导入numpy
库用于计算相关系数。
- 导入所需库:使用
-
- 建立数据库连接:按照数据库的实际配置建立连接。
-
- 获取并处理数据:执行SQL查询获取用户的学习时长和考试成绩数据,分别提取学习时长和成绩作为散点图的横轴和纵轴数据。
-
- 绘制散点图:设置图表大小,使散点分布更清晰;绘制散点图,根据数据点的大小和颜色设置,这里暂时使用默认设置;设置图表标题、横轴和纵轴标签;添加网格线,方便观察数据点的分布;
计算并显示学习时长和成绩之间的相关系数
,以量化两者之间的关系。
- 绘制散点图:设置图表大小,使散点分布更清晰;绘制散点图,根据数据点的大小和颜色设置,这里暂时使用默认设置;设置图表标题、横轴和纵轴标签;添加网格线,方便观察数据点的分布;
代码实现
import psycopg2
import matplotlib.pyplot as plt
from decimal import Decimal # 导入Decimal类型
import numpy as nptry:# 连接数据库(根据实际环境调整参数)conn = psycopg2.connect(dbname="postgres",user="postgres",password="postgres",host="192.168.232.128",port="5432")cur = conn.cursor()# 获取数据并过滤无效记录cur.execute("SELECT study_hours, score FROM user_learning_data")raw_data = cur.fetchall() # 原始数据格式:[(study_hours1, score1), (study_hours2, score2), ...]# 清洗数据:过滤空值或非数值记录clean_data = []for d in raw_data:study_hour, score = d# 检查学习时长是否为数值且≥0,成绩是否为整数且在0-100之间if (isinstance(study_hour, (int, float, Decimal )) and study_hour >= 0 andisinstance(score, int) and 0 <= score <= 100):clean_data.append(d)# 提取有效数据if not clean_data:raise ValueError("无有效数据,无法绘制散点图")study_hours = [d[0] for d in clean_data]scores = [d[1] for d in clean_data]# 转换为numpy数组(确保类型一致)study_hours_arr = np.array(study_hours, dtype=np.float64)scores_arr = np.array(scores, dtype=np.int32)# 计算相关系数(确保两个数组长度一致)if len(study_hours_arr) != len(scores_arr):raise ValueError("学习时长和成绩数据长度不一致")corr_coeff = np.corrcoef(study_hours_arr, scores_arr)[0, 1]# 绘制散点图plt.figure(figsize=(10, 6))plt.scatter(study_hours_arr, scores_arr, color='#1f77b4', alpha=0.7, edgecolors='white')plt.title(f"学习时长与考试成绩关系(相关系数:{corr_coeff:.2f})", fontsize=14, fontproperties=font)plt.xlabel("学习时长(小时)", fontsize=12, fontproperties=font)plt.ylabel("考试成绩", fontsize=12, fontproperties=font)plt.grid(True, linestyle='--', alpha=0.7)plt.show()except psycopg2.Error as e:print(f"数据库连接或查询错误: {e}")
except ValueError as ve:print(f"数据校验错误: {ve}")
except Exception as ex:print(f"未知错误: {ex}")
finally:# 确保关闭数据库连接if 'cur' in locals():cur.close()if 'conn' in locals():conn.close()
效果分析
从散点图中可以看出,学习时长和考试成绩之间呈现出明显的正相关关系。
- 随着学习时长的增加,考试成绩也大致呈上升趋势。
计算得到的相关系数为0.95,接近1,表明两者之间存在高度的正线性相关关系。
- 这说明在一定范围内,学习时长的增加有助于提高考试成绩,但需要注意的是,散点图中也存在个别数据点可能受到其他因素的影响,如学习效率、学习方法等。
- 通过散点图和相关系数的分析,我们能够定量地了解两个变量之间的关系,为制定合理的学习计划和教学策略提供数据支持。
总结
折线图、柱状图和散点图是数据可视化中最基础且常用的图表类型,各自具有独特的优势和适用场景。
- 折线图适用于展示数据随时间或顺序的变化趋势,帮助我们把握数据的动态走向;
- 柱状图擅长对比不同类别之间的数据差异,使我们能够清晰地看出各类别之间的优劣;
- 散点图则用于揭示两个变量之间的关系,帮助我们发现数据中的潜在规律。
在使用PostgreSQL进行数据分析时,我们首先需要根据分析目标准备好合适的数据,通过合理的SQL查询获取所需数据,然后结合Python等可视化工具进行图表绘制。
在绘制过程中,要注意图表的细节设置,如标题、标签、颜色、网格线等,以提高图表的可读性和美观度。
通过对图表的深入分析,我们能够从数据中提取有价值的信息,为决策提供有力的支持。
希望本文能够帮助读者掌握基础图表的绘制方法,并在实际的数据分析工作中灵活运用,让数据更好地为我们所用。
以上从数据准备到图表分析,详细介绍了三种基础图表的绘制。
你对内容的案例、代码或分析部分有什么看法,或有其他修改需求,都可以告诉我。
相关文章:
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】8.1 基础图表绘制(折线图/柱状图/散点图)
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 PostgreSQL数据分析实战:基础图表绘制(折线图/柱状图/散点图)8.1 基础图表绘制8.1.1 折线图:展现数据趋势数据准备图表绘制步…...
Yii2.0 模型规则(rules)详解
一、基本语法结构 public function rules() {return [// 规则1[[attribute1, attribute2], validator, options > value, ...],// 规则2[attribute, validator, options > value, ...],// 规则3...]; }二、规则类型分类 1、核心验证器(内置验证器࿰…...
Notepad++中XML格式化插件介绍
Notepad++中XML格式化插件介绍 背景安装指南安装步骤验证安装成功安装失败可尝试使用说明XML文件格式正确时格式化错误格式检查XML Tools插件核心功能盘点常见问题格式化后没变化中文显示乱码拯救杂乱XML格式!Notepad++这个神器插件,必须接收!背景 接手别人写的XML,缩进乱成…...
在 R 中,清除包含 NA(缺失值)的数据
在 R 中,清除包含 NA(缺失值)的数据可以通过多种方式实现,具体取决于你希望如何处理这些缺失值。以下是几种常见的方法,包括删除包含 NA 的行、删除包含 NA 的列,或者用特定值填充 NA。 1. 删除包含 NA 的…...
Linux复习笔记(一)基础命令和操作
遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。 一、Linux中的基础命令和操作(约30%-40%) 1.用户和组(5%左右) 1.1用户简介(了解) 要求:了解,知道有三个用户…...
多线程的出现解决了什么问题?深入解析多线程的核心价值
多线程的出现解决了什么问题?深入解析多线程的核心价值 1. 引言 在计算机科学中,多线程(Multithreading) 是一种重要的并发编程技术,它允许一个进程同时执行多个任务,从而提高程序的性能和响应能力。那么,多线程究竟是为了解决哪些问题而诞生的?它的核心价值是什么?…...
java集合菜鸟教程
1、Java集合的分类 1Java中的集合类可以分为两大类: (1)实现Collection接口,Collection是一个基本的集合接口,Collection中可以容纳一组集合元素(Element),图1是Collection与子类的…...
体育培训的实验室管理痛点 质检LIMS如何重构体育检测价值链
在竞技体育与全民健身并行的时代背景下,体育培训机构正面临双重挑战:既要通过科学训练提升学员竞技水平,又需严格把控运动安全风险。作为实验室数字化管理的核心工具,质检LIMS系统凭借其标准化流程管控与智能化数据分析能力&#…...
3、食品包装控制系统 - /自动化与控制组件/food-packaging-control
76个工业组件库示例汇总 食品包装线控制系统 这是一个用于食品包装线控制系统的自定义组件,提供了食品包装生产线的可视化监控与控制界面。组件采用工业风格设计,包含生产流程控制、实时数据监控和逻辑编程三个主要功能区域。 功能特点 工业风格UI设…...
AbMole的Calcein-AM/PI细胞双染试剂盒,精准区分细胞活死状态
在细胞生物学研究中,细胞活性检测是基础且关键的实验环节。然而,传统方法在检测活细胞和死细胞时常常面临诸多挑战:例如,检测过程复杂、耗时,容易受到细胞类型和实验条件的限制;荧光信号不稳定,…...
力扣刷题Day 37:LRU 缓存(146)
1.题目描述 2.思路 方法1:直接用Python封装好的数据结构OrderedDict(兼具哈希表与双向链表的数据结构)。 方法2:哈希表辅以双向链表。 3.代码(Python3) 方法1: class LRUCache(collections…...
动态规划之01背包——三道题助你理解01背包
目录 二维数组实现 一维数组实现 例一P1164 小A点菜 P1048 [NOIP 2005 普及组] 采药 P1802 5 倍经验日 首先做动规很好的一个办法就是卡哥提出的动规五部曲个人觉得很好用 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍…...
【前端笔记】CSS 选择器的常见用法
目录 1. CSS 的基本语法规范2. CSS 的引入方式3. CSS 选择器的种类3.1 标签选择器3.2 类选择器3.3 id 选择器3.4 复合选择器3.5 通配符选择器 4. 补充内容 1. CSS 的基本语法规范 选择器 {1 条 / n 条声明} 选择器决定的是修改谁声明决定的是怎么修改声明的属性是键值对&…...
电脑桌面悬浮窗便签,好用的电脑桌面便签工具
不知道大家有没有发现,我们每天要处理的事情越来越多:工作会议、项目截止日期、临时灵感、购物清单...光靠大脑记忆显然不够靠谱。你可能试过用手机备忘录,但工作时频繁切换设备又很影响效率。 这时候,一款好用的电脑桌面便签工具…...
Windows环境下maven的安装与配置
1.检查JAVA_HOME环境变量 Maven是使用java开发的,所以必须知道当前系统环境中的JDK的安装目录。 搜索栏直接输入“cmd” 或者 WinR 输入cmd 在打开的终端窗口输入“echo %JAVA_HOME”,就可以看到jdk的位置了。 如果没有的话,请参考我的文章&a…...
PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式
一个简单的矩阵乘法例子来演示在 PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式。 这个例子会展示核心的区别在于如何获取和指定计算设备,以及(对于 TPU)可能需要额外的库和同步操作。 示例代码: import torch import tim…...
数据库同步方案:构建企业数据流通的高速通道
在数字经济时代,数据已成为企业核心资产。根据Gartner统计,超过70%的企业因数据孤岛问题导致决策延迟,而高效可靠的数据库同步方案正是破解这一困局的关键技术。本文将深度解析数据库同步的核心逻辑、主流方案及实践策略,助企业构…...
微信小程序开发,登录注册实现
文章目录 1. 官方文档教程2. 注册实现3. 登录实现4. 关于作者其它项目视频教程介绍 1. 官方文档教程 https://developers.weixin.qq.com/miniprogram/dev/framework/路由跳转的几种方式: https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab…...
VSCode怎么同时打开多个页面
VSCode中打开一个文件会把另一个文件覆盖,始终保持打开一个文件的状态,相对于其他IDE是不太习惯的,如果同时打开两个文件页面怎么去设置呢 1、禁用预览模式 2、快速分屏快捷键: Ctrl\ (Windows/Linux) 或 Cmd\ (macOS)...
【多种不同提交方式】通过springboot实现与前端网页数据交互(非常简洁快速)
【多种不同提交方式】通过springboot实现与前端网页数据交互 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是springboot的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】&am…...
Web 架构之负载均衡全解析
文章目录 一、引言二、思维导图三、负载均衡的定义与作用定义作用1. 提高可用性2. 增强性能3. 实现扩展性 四、负载均衡类型硬件负载均衡代表设备优缺点 软件负载均衡应用层负载均衡代表软件优缺点 网络层负载均衡代表软件优缺点 五、负载均衡算法轮询算法(Round Ro…...
猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
前情提要 家里养了三只猫咪,其中一只布偶猫经常出入厕所。但因为平时忙于学业,没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关,频繁如厕可能是泌尿问题,停留过久也可能是便秘或不适。为了更科学地了解牠的如…...
DeepSeek全域智能革命:从量子纠缠到星际文明的认知跃迁引言:认知边界的坍缩与重构
一、认知架构的技术基石 1.1 混合专家系统的流形蒸馏 DeepSeek-R2的MoE架构采用微分流形蒸馏技术,将6710亿参数的教师模型(如DeepSeek-Prover-V2)的知识嵌入到动态路由网络中。通过辛几何约束下的参数投影,模型在保留数学证明能…...
Mkdocs页面如何嵌入PDF
嵌入PDF 嵌入PDF代码 ,注意PDF的相对地址 <iframe src"../个人简历.pdf (相对地址)" width"100%" height"800px" style"border: 1px solid #ccc; overflow: auto;"></iframe>我的完整代码: <d…...
JS进阶DAY2 构造函数数据常用函数
深入对象 1.创建对象的三种方式 1.利用对象字面量创建对象 const o{ name:佩奇 } 2.利用 new Object 创建对象 const onew Object({ name:佩奇}) console.log(o) //{name:佩奇} 3.利用构造函数创建对象 2.构造函数 构造函数:是一种特殊的函数,主要用来初始…...
【ARM AMBA AHB 入门 3 -- AHB 总线介绍】
请阅读【ARM AMBA 总线 文章专栏导读】 文章目录 AHB Bus 简介AHB Bus 构成AHB BUS 工作机制AHB 传输阶段 AHB InterfacesAHB仲裁信号 AHB 数据访问零等待传输(no waitstatetransfer)等待传输(transfers with wait states)多重传送(multipletransfer)--Pipeline AHB 控制信号 A…...
计划评审技术PERT
计划评审技术(Program Evaluation and Review Technique,PERT)是一种用于项目管理和分析的工具,主要用于估算项目完成时间、识别关键路径以及评估项目进度风险。它最初是在20世纪50年代由美国海军开发的,用于管理复杂的…...
【Leetcode 每日一题 - 扩展】3342. 到达最后一个房间的最少时间 II
问题背景 有一个地窖,地窖中有 n m n \times m nm 个房间,它们呈网格状排布。 给你一个大小为 n m n \times m nm 的二维数组 m o v e T i m e moveTime moveTime,其中 m o v e T i m e [ i ] [ j ] moveTime[i][j] moveTime[i][j] 表…...
Linux57配置MYSQL YUM源
错了,弄错了下载地址 显示没MYSQL 刚才YUM包弄错了 下的是rpm文件 应该安装 通过yum install安装 .repo中的enabled需要修改 哪些能修改 哪些不改 配置特定软件的YUM仓库 nginx看教程有官方文档 将官方文档中YUM配置写入.repo文件然后yum clean all yum ma…...
Kafka是什么?典型应用场景有哪些? (消息队列、流处理平台;日志收集、实时分析、事件驱动架构等)
Kafka 核心解析与场景代码示例 一、Kafka核心概念 Apache Kafka 是分布式流处理平台,具备以下核心能力: 发布-订阅模型:支持多生产者/消费者并行处理持久化存储:消息默认保留7天(可配置)分区机制&#x…...
数据实验分析
数据分析数据分类与绘图数据分类方法:通过指定列名和函数(如SUM)来分类数据,确保数据集中包含所需列,否则会报错。嵌套柱形图应用:嵌套柱形图用于展示多层次分类的数据,如按店名和化妆品类别分类…...
PostgreSQL中“参数默认值实现伪重载“详解
什么是伪重载? "伪重载"指的是通过单一函数定义配合参数默认值和条件逻辑来模拟传统编程语言中方法重载的效果。与真正的函数重载(PostgreSQL支持的多同名函数不同参数实现)不同,伪重载是在一个函数内部处理不同参数组…...
在IDEA中编写Spark程序并运行
Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。 1.在Idea中安装插件,使得Idea中可以编写scala代码。 2.使用Maven创建项目,并在pom.xml文件中配置相关的依赖。 3.设置maven依赖项。修改po…...
知识图谱:AI大脑中的“超级地图”如何炼成?
人类看到“苹果”一词,会瞬间联想到“iPhone”“乔布斯”“牛顿”,甚至“维生素C”——这种思维跳跃的背后,是大脑将概念连结成网的能力。而AI要模仿这种能力,需要一张动态的“数字地图”来存储和链接知识,这就是知识…...
Facebook隐私设置详解:如何保护你的个人信息
在这个数字化时代,个人信息安全变得尤为重要。Facebook 作为全球最大的社交网络平台之一,拥有数十亿用户。然而,随着用户数量的增加,隐私问题也日益凸显。本文将详细介绍 Facebook 的隐私设置,帮助你更好地保护个人信息…...
【Hive入门】Hive数据导入与导出:批量操作与HDFS数据迁移完全指南
目录 引言 1 Hive数据导入概述 1.1 Hive数据导入方式分类 1.2 Hive数据模型与存储结构 2 LOAD DATA命令详解 2.1 基本语法与参数 2.2 LOAD DATA执行流程 2.3 案例分析 3 HDFS数据迁移技术 3.1 HDFS文件操作与Hive集成 3.2 外部表技术应用 3.3 分区表动态加载 4 性…...
深入浅出JSON:现代数据交换的基石
JSON(JavaScript Object Notation)已经成为当今互联网上最流行的数据交换格式之一。无论是Web API、配置文件还是NoSQL数据库,JSON都扮演着至关重要的角色。本文将带你全面了解JSON,从基础概念到高级应用。 什么是JSON࿱…...
C++ 日志系统实战第四步:设计与代码实现详解
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的项目笔记吧~ 本文将加入项目代码编写! 目录 日志系统框架设计 模块划分 模块关系图 代码设计 实用类设计 日志等级设计 日志消息类 日志输出格式 日志落地(L…...
DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)
示例: DeepSeek官方接口说明文档:对话补全 | DeepSeek API Docs 官网暂未提供C#代码实现:(以下为根据CURL接口C#代码调用) using System; using System.Collections.Generic; using System.Linq; using System.Text; …...
PyTorch常用命令(可快速上手PyTorch的核心功能,涵盖从数据预处理到模型训练的全流程)
以下是PyTorch常用命令的分类整理,涵盖张量操作、模型构建、数据加载、训练流程等核心内容: 1. 张量操作 创建张量 x torch.tensor([1, 2, 3]) # 从数据创建 x torch.zeros(3, 3) # 全零张量 x torch.ones(3, 3) …...
软开错题(二)
SNMP的传输层协议是UDP Linux操作系统中通常使用apache作为web服务器,其默认的web站点的目录是 /var/www/html 归并排序不是原地排序 邻接表:包含n个头节点和e个表节点,其广度和深度遍历的时间复杂度都是O(ne) grant使用方式 grant 权限 …...
拉削丝锥,螺纹类加工的选择之一
在我们的日常生活中,螺纹连接无处不在,从简单的螺丝钉到复杂的机械设备,都离不开螺纹的精密加工。今天,给大家介绍一种的螺纹刀具——拉削丝锥: 一、拉削丝锥的工作原理 拉削丝锥,听起来有点陌生吧&#…...
【Python Number(数字)】
Python 中的数字类型是编程的基础元素,用于表示数值数据并进行数学运算。以下是 Python 数字类型的核心知识点: 一、基础数字类型 整数(int) 表示整数值,例如 42, -7, 0支持任意精度(无大小限制)…...
大疆无人机SDR 链路
在大疆无人机或通信技术领域,SDR 是 Software-Defined Radio(软件定义无线电) 的缩写,而 SDR 链路 指的是一种通过软件编程实现无线通信功能的技术链路。其核心是通过软件动态调整通信参数&#…...
linux基础学习--linux磁盘与文件管理系统
linux磁盘与文件管理系统 1.认识linux系统 1.1 磁盘组成与分区的复习 首先了解磁盘的物理组成,主要有: 圆形的碟片(主要记录数据的部分)。机械手臂,与在机械手臂上的磁头(可擦写碟片上的内容)。主轴马达,可以转动碟片,让机械手臂的磁头在碟片上读写数据。 数据存储…...
【Qt】Qt 构建系统详解:qmake 入门到项目实战
Qt 构建系统详解:qmake 入门到项目实战 本文将系统介绍 Qt 构建工具 qmake 的用法,并通过一个完整的项目结构示例,帮助你掌握 .pro 文件编写、子项目管理、模块依赖等核心技能。 🧭 一、什么是 qmake? qmake 是 Qt 提…...
Laravel 12 实现验证码功能
Laravel 12 实现验证码功能 在 Laravel 12 中实现验证码功能可以通过多种方式,以下是几种常见的方法: 方法一:使用 Captcha 包(推荐) 首先安装 mews/captcha 包: composer require mews/captcha发布配置…...
深入解析Http11AprProtocol:Tomcat高性能通信的底层原理
HTTP/1.1 协议作为 Web 通信的基础标准,其实现效率直接影响服务器性能。Apache Tomcat 作为 Java 生态中最流行的 Servlet 容器,提供了多种 HTTP 协议实现方案,其中基于 Apache Portable Runtime(APR)的 Http11AprProt…...
HTTP请求与缓存、页面渲染全流程
文章目录 前言**1. HTTP请求与缓存处理****缓存机制**• 强缓存(Cache-Control / Expires)• 协商缓存(Last-Modified / ETag) **2. 服务器响应与数据解析****3. HTML DOM 构建****4. CSSOM 构建****5. 渲染树(Render …...
HTB - Eureka记录
HTB - Eurekahttps://mp.weixin.qq.com/s/r1WmZXNR6YkvnwP40liciA...