Python----数据分析(Pandas一:pandas库介绍,pandas操作文件读取和保存)
一、Pandas库
1.1、概念
Pandas是一个开源的、用于数据处理和分析的Python库,特别适合处理表格类数 据。它建立在NumPy数组之上,提供了高效的数据结构和数据分析工具,使得数据操作变得更加简单、便捷和高效。
Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具
1.2、数据结构
1. Series:一维数组,可以存储任何数据类型(整数、字符串、浮点数等),每个 元素都有一个与之对应的标签(索引)。
2. DataFrame:二维表格型数据结构,可以视为多个 Series 对象的集合,每一列 都是一个 Series。每列可以有不同的数据类型,并且有行和列的标签。
1.3、数据操作
读取和保存数据:支持多种数据格式,如 CSV、Excel、SQL 数据库、JSON 等。
数据选择和过滤:提供灵活的索引和条件筛选功能,方便数据的提取和过滤。
数据清洗:提供了处理缺失数据、重复数据、异常值等数据清洗功能。
数据转换:通过 apply(), map(),replace()等方法进行数据转换。
数据合并:使用concat(), merge(), join()等方法进行数据的横向和纵向合并。
聚合和分组:使用 组和聚合。
1.4、主要特点
1. 数据结构:Pandas提供了两种主要的数据结构:Series(一维数组)和 DataFrame(二维表格)。
2. 数据操作:支持数据的增、删、改、查等操作,以及复杂的数据转换和清洗。
3. 数据分析:提供丰富的数据分析方法,如聚合、分组、透视等。
4. 文件读取与写入:支持多种文件格式(如CSV、Excel、SQL等)的读取和写入。
5. 与其他库集成良好:Pandas 与许多其他三方库(如 NumPy、Matplotlib、 Scikit-learn等)无缝集成,形成了一个强大的数据科学生态系统。
6. 强大的社区支持:Pandas 拥有庞大的开发者社区,提供丰富的资源和学习材 料。
官方文档
http://pandas.pydata.org/pandas-docs/stable/
安装
pip install pandas
二、Pandas的读取与保存
2.1、读取数据
2.1.1、Pandas读取Excel文件
说明
使用Pandas模块操作Excel时候,需要安装openpyxl
pip install openpyxl==3.1.2
pandas.read_excel是pandas库中用于读取Excel文件( .xls 或 数。它可以将Excel文件中的数据读取为DataFrame对象,便于进行数据分析和处 理。
pandas.read_excel(io, sheet_name=0, header=0, index_col=None, usecols=None, squeeze=False,dtype=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, parse_dates=False, date_parser=None,skipfooter=0, convert_float=True, **kwds)
描述 | 说明 |
---|---|
io | 文件路径或文件对象。这是唯一必需的参数,用于指定要读取的Excel文件。 |
sheet_name=0 | 要读取的表名或表的索引号。默认为0,表示读取第一个工作 表。可以指定工作表名或索引号,如果指定多个,将返回一个字典,键为工作表 名,值为对应的DataFrame。 |
header=0 | 用作列名的行号,默认为0,即第一行作为列名。如果没有标题行, 可以设置为None。 |
index_col=None | 用作行索引的列号或列名。默认为None,表示不使用任何列 作为索引。可以是一个整数、字符串或列名的列表。 |
usecols=None | 要读取的列。默认为None,表示读取所有列。可以是一个整数 列表、字符串列表或Excel列的位置(如 [0, 1, 2])或字母标记(如 ['A', 'B', 'C'])。 |
squeeze=False | 如果读取的数据只有一列,当设置为True时,返回一个Series 而不是DataFrame。 |
dtype=None | 指定某列的数据类型。默认为None,表示自动推断。可以是一个 字典,键为列名,值为NumPy数据类型。 |
skiprows=None | 要跳过的行号或行号列表。默认为None,表示不跳过任何行。 可以是整数或整数列表。 |
nrows=None | 读取的行数,从文件头开始。默认为None,表示读取所有行。 |
na_values=None | 将指定的值替换为NaN。默认为None,表示不替换。可以是 一个值或值的列表。 |
keep_default_na=True | 如果为True(默认),则除了通过 na_values指定的值外,还将默认的NaN值视为NaN。 |
parse_dates=False | 是否尝试将列解析为日期。默认为False。可以是一个布尔 值、列名列表或列号的列表。 |
date_parser=None | 用于解析日期的函数。默认为None,表示使用pandas默认 的日期解析器。 |
skipfooter=0 | 要跳过的文件底部的行数。默认为0,表示不跳过任何底部的 行。 |
convert_float=True | 是否将所有浮点数转换为64位浮点数。默认为True,以 避免数据类型推断问题。 |
**kwds | 允许用户传递其他关键字参数,这些参数可能会被引擎特定的读取器所 识别。 |
import pandas as pd
pd.read_excel('stu_data.xlsx')
指定导入哪个Sheet
pd.read_excel('stu_data.xlsx',sheet_name='Target') pd.read_excel('stu_data.xlsx',sheet_name=0)
通过index_col指定行索引
pd.read_excel('stu_data.xlsx',sheet_name=0,index_col=0)
通过header指定列索引
pd.read_excel('stu_data.xlsx',sheet_name=0,header=1) pd.read_excel('stu_data.xlsx',sheet_name=0,header=None)
通过usecols指定导入列
pd.read_excel('stu_data.xlsx',usecols=[1,2,3])
2.1.2、Pandas读取数据_CSV文件
pandas.read_csv 是一个非常强大的函数,用于从文件、URL、文件-like对象等读 取逗号分隔值(CSV)文件。这个函数有很多参数,允许你以多种方式自定义数据加 载过程。
pandas.read_csv(filepath_or_buffer, sep, header, usercols, na_values, parse_dates, skiprows, nrows)
描述 | 说明 |
---|---|
filepath_or_buffer | 指定要读取的 CSV 文件的路径或文件对象。可以是一个 字符串,表示文件的绝对路径或相对路径;也可以是一个已经打开的文件对象 (例如通过 open() 函数打开的文件)。 |
sep | 字符串,用于分隔字段的字符。默认是逗号,,但可以是任何字符,例如 ';' 或 '\t'(制表符)。 |
header | 整数或整数列表,用于指定行号作为列名,或者没有列名, |
usecols | 列表或 callable,用于指定要读取的列。可以是列名的列表,也可以是 列号的列表。 |
na_values | 字符串、列表或字典,用于指定哪些其他值应该被视为NA/NaN |
parse_dates | 列表或字典,用于指定将哪些列解析为日期。 |
skiprows | 整数或列表,用于指定要跳过的行号或条件。 |
nrows | 整数,用于指定要读取的行数。 |
导入csv文件时除了指明文件路径,还需要设置编码格式。
在国内,Python中用得比较多的两种编码格式是UTF-8和gbk,默认编码格式是UTF-8。
通过设置参数encoding来设置导入的编码格式。
pd.read_csv('stu_data.csv',encoding='gbk')
2.1.4、Pandas读取txt文件
导入.txt文件用得方法时read_table(),read_table()是将利用分隔符分开的文件导入。DataFrame的通用函数。它不仅仅可以导入.txt文件,还可以导入.csv文件。
导入.txt文件
pd.read_table('test_data.txt',encoding='utf-8',sep='\t')
导入.csv文件,指明分隔符
pd.read_table('stu_data.csv',encoding='gbk',sep=',')
2.1.5、读取数据库数据
配置 MySQL 连接引擎
conn = pymysql.connect( host = 'localhost', user = 'root', passwd = 'root', db = 'mydb',port=3306, charset = 'utf8' )
读取数据表
pd.read_sql( sql :需要执行的 SQL 语句/要读入的表名称con : 连接引擎名称 index_col = None :将被用作索引的列名称 columns = None :当提供表名称时,需要读入的列名称 list ) tab1 = pd.read_sql('SELECT * FROM t_menus',con=conn) tab1 = pd.read_sql('SELECT count(1) FROM t_menus',con=conn)number = 10 tab1 = pd.read_sql(f'SELECT * FROM t_menus LIMIT {number}',con=conn,index_col = ['empno'],)
数据sql
CREATE TABLE `t_menus` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) NOT NULL,`path` varchar(32) DEFAULT NULL,`level` int(11) DEFAULT NULL,`pid` int(11) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `name` (`name`),KEY `pid` (`pid`),CONSTRAINT `t_menus_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `t_menus` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8mb4;INSERT INTO `t_menus` VALUES (-1,'全部',NULL,0,NULL),(1,'用户管理',NULL,1,-1),(2,'权限管理',NULL,1,-1),(3,'商品管理',NULL,1,-1),(4,'订单管理',NULL,1,-1),(5,'数据统计',NULL,1,-1),(11,'用户列表','/user_list',2,1),(21,'角色列表','/author_list',2,2),(22,'权限列表','/role_list',2,2),(31,'商品列表','/product_list',2,3),(32,'分类列表','/group_list',2,3),(33,'属性列表','/attribute_list',2,3),(41,'订单列表','/order_list',2,4),(51,'统计列表','/data_list',2,5);
2.2、保存数据
df.to_csv( filepath_or_buffer :要保存的文件路径 sep =:分隔符 columns :需要导出的变量列表 header = True :指定导出数据的新变量名,可直接提供 list index = True :是否导出索引 mode = 'w' : Python 写模式,读写方式:r,r+ , w , w+ , a , a+ encoding = 'utf-8' :默认导出的文件编码格式
)
df2.to_csv('temp.csv')
#===========================
df.to_excel( filepath_or_buffer :要读入的文件路径 sheet_name = 1|Sheet :要保存的表单名称
)
df2.to_excel('temp.xlsx', index = False, sheet_name = data)
2.2.1、to_csv
用于将DataFrame对象保存为CSV(逗号分隔值)文件的方法。
DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, mode='w', encoding=None, quoting=None, quotechar='"', **kwargs)
描述 | 说明 |
---|---|
path_or_buf | 指定输出文件的路径或文件对象。 |
sep | 字段分隔符,通常使用逗号,或制表符\t。 |
na_rep | 缺失值的表示方式,默认为空字符串 ''。 |
float_format | 浮点数的格式化方式,例如 '%.2f'用于格式化为两位小数。 |
columns | 要写入的列的子集,默认为None,表示写入所有列。 |
header | 是否写入行索引,通常设置为True或False,取决于是否需要索引。 |
index | 是否写入列名,通常设置为True。 |
mode | 写入模式,通常使用’w’(写入,覆盖原文件)或’a’(追加到文件末尾)。 |
encoding | 文件编码,特别是在处理非ASCII字符时很重要 |
quoting | 控制字段引用的行为,通常用于确保字段中的分隔符被正确处理。 |
quotechar | 用于包围字段的字符,默认为双引号"。 |
**kwargs | 其他关键字参数。 |
import pandas as pd# 创建一个简单的DataFrame
data = {
'姓名': ['张三', '李四', '王五'],
'年龄': [28, 34, 29],
'城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)
# 将DataFrame保存为CSV文件
df.to_csv('人员信息.csv', index=False, encoding='utf_8_sig')
2.2.2、to_excel
Pandas中的 to_excel用于将DataFrame保存为Excel文件。
DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, inf_rep='inf', freeze_panes=None, storage_options=None)
描述 | 说明 |
---|---|
excel_writer | 字符串或ExcelWriter对象,指定输出文件的路径或文件对象。 |
sheet_name='Sheet1' | 要写入的工作表名称。 |
na_rep='' | 指定缺失值的表示方式。 |
float_format=None | 浮点数的格式化方式,例如’%.2f’。 |
columns=None | 要写入的列的子集,默认为None,表示写入所有列。 |
header=True | 是否写入列名,默认为True。 |
index_label=None | 是否写入行索引,默认为True。 |
index=True | 指定行索引列的列名,如果为None,并且 : header为True,则使用索引名。 |
startrow= | 写入DataFrame的起始行位置,默认为0。 |
startcol=0 | 写入DataFrame的起始列位置,默认为0。 |
engine=None | 指定用于写入文件的引擎,可以是’openpyxl’(默认) 或’xlsxwriter’。 |
merge_cells=True | 是否合并单元格,这在有合并单元格的Header时很有用。 |
inf_rep='inf' | 指定无限大的表示方式。 |
freeze_panes=None | 指定冻结窗口的单元格范围,例如’A2’。 |
storage_options=None | 指定存储连接的参数,例如认证凭据。 |
import pandas as pd
# 创建一个简单的DataFrame
data = {
'姓名': ['张三', '李四', '王五'],
'年龄': [28, 34, 29],
'城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)
# 将DataFrame保存为Excel文件
df.to_excel('人员信息.xlsx', index=False)
2.2.3、保存数据到数据库
注意
需要安装sqlalchemy
pip install sqlalchemy
df.to_sql( name :将要存储数据的表名称con : 连接引擎名称 if_exists = 'fail' :指定表已经存在时的处理方式 fail :不做任何处理(不插入新数据) replace :删除原表并重建新表 append :在原表后插入新数据 index = True :是否导出索引 )from sqlalchemy import create_engine
con = create_engine('mysql+pymysql://root:root@localhost:3306/mydb?charset=utf8') df.to_sql('t_stu',con,if_exists=append)
三、思维导图
相关文章:
Python----数据分析(Pandas一:pandas库介绍,pandas操作文件读取和保存)
一、Pandas库 1.1、概念 Pandas是一个开源的、用于数据处理和分析的Python库,特别适合处理表格类数 据。它建立在NumPy数组之上,提供了高效的数据结构和数据分析工具,使得数据操作变得更加简单、便捷和高效。 Pandas 的目标是成为 Python 数据…...
设计模式之原型模式:原理、实现与应用
引言 原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类。原型模式特别适用于创建成本较高的对象,或者需要动态配置的对象。本文将深入探讨原型模式的原理、实现方…...
平方矩阵问题
Ⅰ 回字形二维数组 #include <iostream> #include <iomanip> using namespace std; int main(){int n;while(cin>>n,n){for(int i0; i<n;i){for(int j0; j<n; j){int upi, downn-i1, leftj, rightn-j1;cout<<min(min(up,down),min(left,right)…...
C语言之链表
文章目录 前言 一、链表基本概念 1、声明节点结构 2、创建节点变量 3、链表所有节点 4、遍历链表 二、add添加 三、insert插入 四、remove删除 五、查找 总结 前言 链表是一种重要的数据结构,用于存储和组织数据。它是由一系列节点组成的数据结构&#x…...
RabbitMQ延迟消息
文章目录 延迟消息死信交换机延迟消息延迟消息应用场景 延迟消息 生产者在发送消息的时候指定一个时间,消费者不会立即收到该消息,而是在指定时间之后才收到消息,这就是延迟消息。 比如说这么一个场景,用户下单后将商品库存进行…...
Unity中WolrdSpace下的UI展示在上层
一、问题描述 Unity 中 Canvas使用World Space布局的UI,想让它不被3d物体遮挡,始终显示在上层。 二、解决方案 使用shader解决 在 UI 的材质中禁用深度测试(ZTest),强制 UI 始终渲染在最上层。 Shader "Custo…...
【从零开始学习计算机科学】算法分析(一)算法、渐进分析、递归分析
【从零开始学习计算机科学】算法分析(一)算法、渐进分析、递归分析 算法算法分析正确性算法完成需要的时间使用的存储空间简单性渐进分析递归分析主方法求解递归式递归树求解代入法概率分析和随机算法顺序统计量算法 什么是算法?算法(Algorithm)是指解题方案的准确而完整…...
【菜鸟飞】Conda安装部署与vscode的结合使用
介绍 Conda 是一个跨平台的开源工具,用于管理软件包和环境。最初由 Anaconda 公司开发,它的设计目标是支持数据科学和机器学习领域,但其功能不仅局限于此。 以下是 Conda 的核心特点: 包管理:安装、更新、卸载各种库…...
LeetCode2593 标记所有元素后数组的分数
贪心算法实战:数组标记与分数计算(LeetCode 同类题解析) 一、问题描述 给定一个正整数数组 nums,按以下规则计算最终分数: 初始分数 score 0每次选择最小且未被标记的元素(值相同选下标最小)…...
【C++多线程】thread
C中的std::thread是C11引入的线程库的一部分,提供了创建和管理线程的能力。它封装了操作系统的线程接口,使得在C中更方便地进行多线程编程。 1. std::thread 的定义 std::thread 类位于<thread>头文件中,定义在std命名空间下ÿ…...
补充二分LIS
B3637 最长上升子序列 题目描述 这是一个简单的动规板子题。 给出一个由 n ( n ≤ 5000 ) n(n\le 5000) n(n≤5000) 个不超过 1 0 6 10^6 106 的正整数组成的序列。请输出这个序列的最长上升子序列的长度。 最长上升子序列是指,从原序列中按顺序取出一些数字排…...
airtest用法
安装python3.7.9 64 python3 -m pip install -U airtest 或者: git clone https://github.com/AirtestProject/Airtest.git pip install -e airtest 下载adb 可以开始无界面的airtest 下载AirtestIDE 安装与启动 - Airtest Project Docs Airtest Project...
30天学习Java第四天——设计模式
设计模式概述 设计模式是一套被广泛接受的、经过试验的、可反复使用的基于面向对象的软件设计经验总结,它是开发人员在软件设计时,对常见问题的解决方案的总结和抽象。 一句话就是,设计模式是针对软件开发中常见问题和模式的通用解决方案。 …...
MongoDB 和 Elasticsearch的区别、优缺点对比,以及选型建议
MongoDB 和 Elasticsearch 在存储和搜索方面各有特点,适用于不同的场景。以下是它们的区别、优缺点对比,以及选型建议。 1. 概述 MongoDB:分布式 NoSQL 文档数据库,基于 BSON(类似 JSON)的文档存储&#x…...
在Android中,子线程可以更新UI吗
目录 为什么子线程不能直接更新UI? 如何正确在子线程更新UI? 1. 使用runOnUiThread方法 2. 通过Handler发送消息到主线程 3. 使用View.post(Runnable)方法 4. 结合AsyncTask(已过时,仅作了解) 5. 使用Kotlin协程…...
unittest vs pytest区别
unittest vs pytest 对比 unittest 像“手动挡汽车”:操作步骤多,规则严格,适合老司机。pytest 像“自动挡汽车”:开起来轻松,功能强大,适合新手和高效开发。 区别点unittest(你学过的&…...
OpenAI与谷歌DeepMind新品同日竞技,谁能引领机器人现实任务新潮流?
2025年3月12日,科技巨头谷歌DeepMind与OpenAI均发布了与机器人执行现实任务相关的新产品:谷歌DeepMind的新AI模型、OpenAI的Agents工具集,二者在技术路径、应用场景、安全机制设计等方面存在明显差异,其发展态势备受行业关注。 …...
JVM并发编程AQSsync锁ReentrantLock线程池ThreadLocal
并发编程2 synchronized锁实现**AQS****ReentrantLock实现****JUC 常用类**池的概念 ThreadLocalThreadLocal原理内存泄露强引用:软引用弱引用虚引用ThreadLocal内存泄露 synchronized锁实现 synchronized是一个关键字,实现同步,还需要我们提供一个同步锁对象,记录锁状态,记录…...
特殊 IP 地址
文章目录 特殊IP地址概述受限广播地址(Limited Broadcast Address)直接广播地址(Directed Broadcast Address)多播地址(Multicast Address)环回地址(Loopback Address)本网络本主机&…...
SSL/TLS 1.2过程:Client端如何验证服务端证书?
快速回顾非对称加密和对称加密 首先快速说一下非对称加密和对称加密。非对称加密,就是有一个公钥和私钥(成对存在)。 公钥对一段文本A加密得到文本B,只有对应的私钥能对B解密得到A。 私钥对一段文本C加密得到文本D,只有对应的公钥能对D解密得…...
Android(java)高版本 DownloadManager 封装工具类,支持 APK 断点续传与自动安装
主要有以下优点 兼容高版本 Android:适配 Android 10 及以上版本的存储权限和安装权限。断点续传:支持从断点继续下载。下载进度监听:实时获取下载进度并回调。错误处理:处理下载失败、网络异常等情况。自动安装 APK:…...
基于three.js的虚拟人阴影渲染优化方案
作者:来自 vivo 互联网大前端团队- Su Ning 本文将探讨 three.js 中的阴影渲染机制,并分享一些针对性能和效果优化的实用技巧,帮助开发者在不同场景下做出最佳的权衡选择。 一、前言 在3D网页应用中,高质量的阴影渲染对于营造场…...
人工智能中神经网络是如何进行预测的
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/north 文章目录 引言神经网络的基本结构神经网络的前向传播前向传播的步骤激活函数 代码实现流程图详细解释…...
vue3 中使用 Recorder 实现录音并上传,并用Go语言调取讯飞识别录音(Go语言)
录音并识别 效果图一、开启游览器录音权限二、前端代码三、Go代码,上传到讯飞识别录音返回到前端 效果图 recorder-core插件可以在网页中进行录音。录音文件(blob)并可以自定义上传,可以下载录音文件到本地,本文录音过程中会显示可视化波形,插件兼容PC端…...
自探索大语言模型微调(一)
一、数据 1.1、失败案例 Hugging Face: 根据B站上搜索到的资料,datasets这个库可以直接下载丰富的数据集合和与训练模型,调用也非常的简单,唯一的缺点就是,需要外网(翻墙),用国内的…...
算法练习(链表)
链表 链表的分类 单向链表,双向链表带头链表,不带头链表循环的,非循环的 链表的结构 图中所示的为链表的一个节点,value是这个节点的所存储的数据值,next为下一节点的地址。 代码实现链表 1.创建节点类 节点由…...
在 Ubuntu 服务器上使用宝塔面板搭建博客
📌 介绍 在本教程中,我们将介绍如何在 Ubuntu 服务器 上安装 宝塔面板,并使用 Nginx PHP MySQL 搭建一个博客(如 WordPress)。 主要步骤包括: 安装宝塔面板配置 Nginx PHP MySQL绑定域名与 SSL 证书…...
K8S学习之基础二十八:k8s中的configMap
k8s中的configMap configMap是k8s的资源对象,简称cm,用于保存非机密性的配置,数据可以用key/value键值对形式保存,也可以通过文件形式保存 在部署服务的时候,每个服务都有自己的配置文件,如果一台服…...
EDID读取学习
简介 Video BIOS可以被认为是一个具有独立硬件抽象层的操作系统。它不会阻止或监视操作系统、应用程序或设备驱动程序对硬件的直接访问。虽然不推荐,但一些DOS应用程序确实可以改变基本的硬件设置,而根本不需要通过视频BIOS。大多数现代应用程序和操作系统都避免直接使用硬件…...
基于 SSE 和 WebSocket 的在线文本实时传输工具
简介 在线文本实时传输工具支持 SSE(Server-Sent Events) 和 WebSocket,可在不同设备间快速共享和同步文本,适用于跨设备协作、远程办公和即时通讯。 核心功能 实时同步:文本输入后,另一端用户可立即看到…...
大语言模型安全风险分析及相关解决方案
大语言模型的安全风险可以从多个维度进行分类。 从输入输出的角度来看,存在提示注入、不安全输出处理、恶意内容生成和幻觉错误等风险; 从数据层面来看,训练数据中毒、敏感信息泄露和模型反演攻击是主要威胁; 模型自身则面临拒绝服务和盗窃的风险; 供应链和插件的不安全引…...
4、linux c 进程
【三】进程 1. 进程与程序的区别 程序:存放在磁盘上的指令和数据的有序集合(文件),是静态的。 进程:执行一个程序所分配的资源的总称,是动态的。 2. 进程的组成部分 BSS段(bss)&…...
OpenFeign
OpenFeign 工作原理详解 1. 声明式接口 开发者通过定义一个接口,并使用特定的注解(如GetMapping, PostMapping等)来描述HTTP请求。OpenFeign会根据这些注解自动生成相应的HTTP请求。 注解支持: FeignClient:用于定…...
Centos离线安装perl
文章目录 Centos离线安装perl1. perl是什么?2. Perl下载地址3. perl的安装4. 安装结果验证 Centos离线安装perl 1. perl是什么? Perl 是一种 高级脚本语言,诞生于 1987 年,以强大的 文本处理能力 和灵活性著称,常用于…...
RabbitMQ可靠性进制
文章目录 1.生产者可靠性生产者重连生产者确认小结 2. MQ的可靠性数据持久化LazyQueue小结 3. 消费者的可靠性消费者确认机制消费者失败处理方案业务幂等性唯一消息ID业务判断 兜底方案业务判断 兜底方案 1.生产者可靠性 生产者重连 在某些场景下由于网络波动,可能…...
PHP优化技术
最近在学习php语言,打算用来提升开发小项目的效率。下面是php项目中常见的优化手段。 1、引起php性能问题的原因 (1)php语法使用不当 (2)使用php做了它不擅长的事 (3)用php连接的服务不给力 &…...
【Go类库分享】Go expr 通用表达式引擎
【Go类库分享】Go expr 通用表达式引擎 官方教程:https://expr-lang.org/docs/language-definition 官方Github:https://github.com/expr-lang/expr 文章所含代码地址:https://github.com/ziyifast/ziyifast-code_instruction/tree/main/go-d…...
线性代数(1)用 excel 计算鸡兔同笼
线性代数excel计算鸡兔同笼 案例:鸡兔同笼问题的三种解法(递进式教学)一、问题描述二、方程式解法(基础版)步骤解析 三、线性代数解法(进阶版)1. 方程组转化为矩阵形式2. 矩阵求解(逆…...
Docker基础知识介绍
Docker基础篇 必须要在Linux环境下才能运行,windows下运行也是安装虚拟机后才能下载安装运行 下载安装 linux 依次执行下边步骤 更新 yum yum update 卸载旧的Docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \do…...
机器人交社保属于“无稽之谈”?
今晨浏览社交网站,惊奇地看到“给机器人上社保”的网页搜索结果竟然多达“约 3,280,000个”。所以被称为“无稽之谈”和“本质上是利用社保之名收税”就实不为过,而且还会让人读罢笑得喷饭:“连搞笑大王赵本山见了,也定会拱手作揖…...
接口测试和功能测试的区别
接口测试和功能测试的区别 一 **接口测试概述**1.1 定义1.2 优缺点 二 **功能测试概述**2.1 定义2.2 优缺点 三 **主要区别**四 两者在测试点的区别4.1 **接口测试的测试点**4.2 **功能测试的测试点**4.3 **接口测试 vs. 功能测试的测试点对比** 五 区别类比**例子背景**&#…...
人工智能中的线性代数基础详解
线性代数是人工智能领域的重要数学基础之一,是人工智能技术的底层数学支柱,它为数据表示、模型构建和算法优化提供了核心工具。其核心概念与算法应用贯穿数据表示、模型训练及优化全过程。更多内容可看我文章:人工智能数学基础详解与拓展-CSDN博客 一、基本介绍 …...
nginx不在默认的yum仓库的解决方法
1、添加 Nginx 官方仓库 epel-release 是 Extra Packages for Enterprise Linux 的仓库,包含了 nginx 等常用软件。 sudo yum install -y epel-release sudo yum install -y nginx 2、手动添加 Nginx 仓库 如果 epel-release 不可用,可以手动添加 Ng…...
IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力
在现代工业生产和物流领域,物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时,常常存在适应性差、抓取不稳定、操作复杂等问题,导致生产流程中频繁出现停机调整,增加了人工干预成…...
【uni-app运行错误】SassError: expected selector @import “@/uni.scss“;
ERROR in ./src/pages/biddingViews/address_add.vue?vue&typestyle&index0&id41672bf3&scopedtrue&langscss& (./node_modules/vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-22[0].rules[0].use[1]!./node_modules/dcloud…...
堆排序:力扣215.数组中的第K个大元素
一、问题描述 在一个整数数组 nums 中,需要找出第 k 个最大的元素。这里要注意,我们要找的是数组排序后的第 k 个最大元素,而不是第 k 个不同的元素。例如,对于数组 [3,2,1,5,6,4],当 k 2 时,第 2 个最大…...
【网络协议】应用层协议HTTPS
文章目录 为什么引入HTTPS?基本概念加密的基本过程对称加密非对称加密中间人攻击证书 为什么引入HTTPS? 由于HTTP协议在网络传输中是明文传输的,那么当传输一些机密的文件或着对钱的操作时,就会有泄密的风险,从而引入…...
网络安全防护总体架构 网络安全防护工作机制
1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能…...
图像处理篇---图像预处理
文章目录 前言一、通用目的1.1 数据标准化目的实现 1.2 噪声抑制目的实现高斯滤波中值滤波双边滤波 1.3 尺寸统一化目的实现 1.4 数据增强目的实现 1.5 特征增强目的实现:边缘检测直方图均衡化锐化 二、分领域预处理2.1 传统机器学习(如SVM、随机森林&am…...
探针泄露(WEB)
##解题思路 题目提示是探针泄露,未及时删除的探针可能造成严重的数据泄露 探针的文件常见命名为tz.php,访问它 对于php相关参数,我们是可以点击的,点击phpinfo访问 跳转后搜索flag,得到flag...