【Python】数据分析+数据挖掘——探索Pandas中的数据筛选
1. 前言
当涉及数据处理和分析时,Pandas是Python编程语言中最强大、灵活且广泛使用的工具之一。Pandas提供了丰富的功能和方法,使得数据的选择、筛选和处理变得简单而高效。在本博客中,我们将重点介绍Pandas中数据筛选的关键知识点,包括条件索引、逻辑操作符、query()方法以及其他一些常用技巧~
2. 筛选
在Python和Pandas库中,索引是一种用于标识和访问数据的重要概念。索引可以是整数、标签、日期等类型,它允许我们按照指定的标记来查找、选择和操作数据。本文重点介绍的是Pandas中的筛选操作,我们先来简单回顾一下Python中一些筛选的相关操作。
在Python中列表、元组、字符串、字典都是支持索引的数据结构。索引从0开始,表示数据元素在序列中的位置。
例如,对于列表可以通过list[0]来访问列表的一个元素
In[0]:
list_filter = [1,2,3,4,5]
print(list_filter[0])
print(list_filter[1])
out[0]:
1
2
对于字符串,也可以使用索引来访问单个字符
In[1]:
string_filter = "hello"
print(string_filter[0])
print(string_filter[1])
out[1]:
h
e
对于元组亦是如此
In[2]:
tuple_filter = (1, 2, 3, 4)
print(tuple_filter[0])
print(tuple_filter[2])
out[2]:
1
3
对于字典则是可以通过’‘键’'来索引字典中的值
In[3]:
dict_filter = {'1': 'one', '2': 'two', '3': 'three'}
print(dict_filter['1'])
print(dict_filter['2'])
out[3]:
one
two
除此之外你也可以通过切片索引、负数索引来进行筛选操作在此就不在赘述了
案例数据表university_rank.csv

2.1 整数位置索引筛选
df.iloc是Pandas中用于整数位置索引(Integer Location Indexing)的一种属性,用于访问DataFrame或Series中的数据。iloc允许你使用整数位置来选择特定的行和列,类似于Python中的列表索引。
语法 df.iloc[row_index, column_index] 其中的row_index和column_index可以是单个整数、切片或者列表
我们先来尝试一下整行筛选
df.iloc[<start_loc>:<end_loc>],这里需要注意的是end_loc是取不到的,比如df.iloc[0:2],从0开始,只能取到0,1。
In[4]:
import pandas as pd
df = pd.read_csv("university_rank.csv") # 读取案例数据表
df # 展示数据表,跟print一样的作用
out[4]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 1 | 牛津大学 | 2 | 欧洲 | 医学 | 科研产出 |
| 2 | 北京大学 | 3 | 亚洲 | 商学 | 国际影响力 |
| 3 | 悉尼大学 | 4 | 大洋洲 | 计算机科学 | 教学质量 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
| ... | ... | ... | ... | ... | ... |
| 95 | 圣保罗国立大学 | 96 | 南美 | 计算机科学 | 研究生录取率 |
| 96 | 约翰内斯堡大学 | 97 | 非洲 | 环境科学 | 学术声誉 |
| 97 | 麦吉尔大学 | 98 | 北美 | 艺术 | 学生满意度 |
| 98 | 伦敦政治经济学院 | 99 | 欧洲 | 法律 | 国际影响力 |
| 99 | 东京大学 | 100 | 亚洲 | 教育 | 毕业生就业率 |
100 rows × 5 columns
In[5]:
df.iloc[0:2] # 对案例数据表进行整行筛选
out[5]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 1 | 牛津大学 | 2 | 欧洲 | 医学 | 科研产出 |
行能切边,那列能不能切片呢?答案当然是能,只需要用’ , '来分割行列之间的索引即可。
In[6]:
df.iloc[0:2, 0:3]
out[6]:
| 大学名称 | 排名 | 地区 | |
|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 |
| 1 | 牛津大学 | 2 | 欧洲 |
补充:我们知道在Pandas中不仅有DataFrame还有Series,在Series中我们也可以使用df.iloc[index]来进行索引,其中index可以是单个整数、切片或者列表
In[7]:
data = [1, 2, 3, 4, 5]
series = pd.Series(data) # 创建一个Series类型的数据# 使用整数位置索引访问数据
print(series.iloc[0])
print(series.iloc[1:3])
out[7]:
1
2,3
2.2 标签索引筛选
df.loc是Pandas中用于标签索引的一种属性,用于访问DataFrame或Series中的数据。loc允许你使用标签来选择特定的行和列,这使得索引更加灵活,可以根据标签选择数据,也可以使用条件来筛选。
语法 df.loc[row_label, column_label] 其中的row_label和column_label可以是单个整数、切片或者列表
我们先来尝试一下整行筛选,df.loc 与绝对值筛选的区别是,若使用df.loc[0:4],那么将会筛选从索引为0,到索引为4的所有列
In[8]:
df.loc[0:4]
out[8]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 1 | 牛津大学 | 2 | 欧洲 | 医学 | 科研产出 |
| 2 | 北京大学 | 3 | 亚洲 | 商学 | 国际影响力 |
| 3 | 悉尼大学 | 4 | 大洋洲 | 计算机科学 | 教学质量 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
如果不想要[0:4]中间的部分,只想要index=0 和 index=4的行,给它们中间的’:‘换成’,'加一个列表嵌套就行,简单来说就是使用标签列表来筛选
In[9]:
df.loc[[0, 4]]
out[9]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
在此就不再赘述Series的df.loc了基本用法与上类似,不过是从多维转为了一维而已。
2.3 多重索引筛选
df.xs是Pandas中的一种方法,用于在DataFrame中根据指定的标签或位置(行或列)获取跨越多个层次的数据。它主要用于处理具有多层索引的DataFrame
df.xs(# 要获取的行或列的标签或位置key, # 可选参数,用于指定获取行还是列。默认为行,也可以设置为1(列)axis = 0,# 可选参数,用于指定多层索引的级别。只在有层次化索引时才需要设置level, # 可选参数,指定是否丢弃返回结果中的索引级别,默认为Truedrop_level = True
)
In[10]:
df = pd.read_csv("university_rank.csv", index_col=["排名", "地区"]) # 读取案例数据表并设置双重索引
df
out[10]:
| 大学名称 | 学科领域 | 排名依据 | ||
|---|---|---|---|---|
| 排名 | 地区 | |||
| 1 | 北美 | 哈佛大学 | 工程 | 学术声誉 |
| 2 | 欧洲 | 牛津大学 | 医学 | 科研产出 |
| 3 | 亚洲 | 北京大学 | 商学 | 国际影响力 |
| 4 | 大洋洲 | 悉尼大学 | 计算机科学 | 教学质量 |
| 5 | 南美 | 圣保罗大学 | 艺术 | 学生满意度 |
| ... | ... | ... | ... | ... |
| 96 | 南美 | 圣保罗国立大学 | 计算机科学 | 研究生录取率 |
| 97 | 非洲 | 约翰内斯堡大学 | 环境科学 | 学术声誉 |
| 98 | 北美 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 99 | 欧洲 | 伦敦政治经济学院 | 法律 | 国际影响力 |
| 100 | 亚洲 | 东京大学 | 教育 | 毕业生就业率 |
100 rows × 3 columns
In[11]:
df.xs('北美', level=1)
out[11]:
| 大学名称 | 学科领域 | 排名依据 | |
|---|---|---|---|
| 排名 | |||
| 1 | 哈佛大学 | 工程 | 学术声誉 |
| 7 | 麦吉尔大学 | 教育 | 校友网络 |
| 11 | 斯坦福大学 | 工程 | 研究成果 |
| 17 | 麦吉尔大学 | 教育 | 毕业生就业率 |
| 21 | 加州理工学院 | 工程 | 学术声誉 |
| 28 | 麦吉尔大学 | 医学 | 教学质量 |
| 32 | 斯坦福大学 | 经济学 | 校友网络 |
| 38 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 42 | 加州理工学院 | 社会科学 | 校友网络 |
| 48 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 52 | 斯坦福大学 | 社会科学 | 校友网络 |
| 58 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 62 | 加州理工学院 | 社会科学 | 校友网络 |
| 68 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 72 | 斯坦福大学 | 社会科学 | 校友网络 |
| 78 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 82 | 加州理工学院 | 社会科学 | 校友网络 |
| 88 | 麦吉尔大学 | 艺术 | 学生满意度 |
| 92 | 斯坦福大学 | 社会科学 | 校友网络 |
| 98 | 麦吉尔大学 | 艺术 | 学生满意度 |
2.4 多条件索引筛选
在Pandas中,你可以使用多个条件来进行多条件索引。有几种方法可以实现多条件索引,其中一些常用的方法如下
- 使用
&和|操作符: 你可以使用&表示"与"条件,|表示"或"条件。通过将条件括在圆括号中,可以确保优先级正确 - 使用
query()方法:query()方法允许你使用字符串表示多个条件,更加直观和简洁 - 使用
isin()方法:isin()方法允许你检查某一列是否包含指定的多个值,然后将条件应用于DataFrame
2.4.1 使用&和|操作符
语法df[(option_one) &/| (option_two)...] 其中option_one和option_two都是筛选的条件,结果取决于中间的连接符
In[12]:
df = pd.read_csv("university_rank.csv") # 读取一下案例数据表
df
out[12]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 1 | 牛津大学 | 2 | 欧洲 | 医学 | 科研产出 |
| 2 | 北京大学 | 3 | 亚洲 | 商学 | 国际影响力 |
| 3 | 悉尼大学 | 4 | 大洋洲 | 计算机科学 | 教学质量 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
| ... | ... | ... | ... | ... | ... |
| 95 | 圣保罗国立大学 | 96 | 南美 | 计算机科学 | 研究生录取率 |
| 96 | 约翰内斯堡大学 | 97 | 非洲 | 环境科学 | 学术声誉 |
| 97 | 麦吉尔大学 | 98 | 北美 | 艺术 | 学生满意度 |
| 98 | 伦敦政治经济学院 | 99 | 欧洲 | 法律 | 国际影响力 |
| 99 | 东京大学 | 100 | 亚洲 | 教育 | 毕业生就业率 |
100 rows × 5 columns
In[13]:
df[(df.排名 >= 6) & (df.排名 <= 10)] # 使用多条件筛选
out[13]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 5 | 约翰内斯堡大学 | 6 | 非洲 | 法律 | 毕业生就业率 |
| 6 | 麦吉尔大学 | 7 | 北美 | 教育 | 校友网络 |
| 7 | 伦敦政治经济学院 | 8 | 欧洲 | 经济学 | 国际化程度 |
| 8 | 东京大学 | 9 | 亚洲 | 社会科学 | 研究生录取率 |
| 9 | 澳大利亚国立大学 | 10 | 大洋洲 | 环境科学 | 科研经费 |
2.4.2 query()方法
目前较常用的筛选语句,query()方法是Pandas中的一种数据筛选方法,它允许你使用字符串表达式来选择DataFrame中满足特定条件的数据。query()方法的设计灵感来自于SQL语言的查询语法,它能够简化复杂的条件筛选,并且能够处理大部分的数据选择需求。
语法:df.query(expr, inplace=False)
df.query(# 类sql语句expr# 是否在原df上修改,默认为Falseinplace = False
)
Tip:在expr语句中可以使用’@'来引用外部变量
In[14]:
df = pd.read_csv("university_rank.csv") # 读取一下案例数据表
expr = "排名 > 9 and 排名 < 16 and 地区 == '亚洲' " # 使用类sql语句多条件筛选DataFrame表
df.query(expr) # 查看使用query()方法查询的结果
out[14]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 12 | 清华大学 | 13 | 亚洲 | 商学 | 校友网络 |
In[15]:
limit = 5 # 设置一个外部变量
expr = "排名 > @limit and 排名 < 50 and 地区 == '亚洲' " # 在expr参数里面应用外部变量
df.query(expr) # 查看使用query()方法查询的结果
out[15]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 8 | 东京大学 | 9 | 亚洲 | 社会科学 | 研究生录取率 |
| 12 | 清华大学 | 13 | 亚洲 | 商学 | 校友网络 |
| 18 | 东京大学 | 19 | 亚洲 | 社会科学 | 国际化程度 |
| 22 | 香港大学 | 23 | 亚洲 | 商学 | 国际影响力 |
| 29 | 东京大学 | 30 | 亚洲 | 艺术 | 学生满意度 |
| 33 | 清华大学 | 34 | 亚洲 | 医学 | 学术声誉 |
| 39 | 东京大学 | 40 | 亚洲 | 教育 | 毕业生就业率 |
| 43 | 香港大学 | 44 | 亚洲 | 工程 | 教学质量 |
若想对数量进行控制,那么也可以使用.head()方法或者.tail()方法来进行嵌套查询
In[16]:
df.query(expr).head(3)
out[16]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 8 | 东京大学 | 9 | 亚洲 | 社会科学 | 研究生录取率 |
| 12 | 清华大学 | 13 | 亚洲 | 商学 | 校友网络 |
| 18 | 东京大学 | 19 | 亚洲 | 社会科学 | 国际化程度 |
2.4.3 isin()方法(布尔索引筛选)
isin()是Pandas中的一种方法,用于检查DataFrame或Series中的元素是否包含在指定的列表、集合或Series中。isin()方法返回一个布尔值的Series,其中元素为True表示对应的元素在指定的集合中,False表示不在其中。
语法df.col_name.isin(values)或者df.isin(values) 该方法会返回一个bool数列,其中values一般为一个列表、集合或Series,用于指定待检查的元素集合。
In[17]:
df = pd.read_csv("university_rank.csv") # 读取一下案例数据表
df # 展示案例数据表
out[17]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 1 | 牛津大学 | 2 | 欧洲 | 医学 | 科研产出 |
| 2 | 北京大学 | 3 | 亚洲 | 商学 | 国际影响力 |
| 3 | 悉尼大学 | 4 | 大洋洲 | 计算机科学 | 教学质量 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
| ... | ... | ... | ... | ... | ... |
| 95 | 圣保罗国立大学 | 96 | 南美 | 计算机科学 | 研究生录取率 |
| 96 | 约翰内斯堡大学 | 97 | 非洲 | 环境科学 | 学术声誉 |
| 97 | 麦吉尔大学 | 98 | 北美 | 艺术 | 学生满意度 |
| 98 | 伦敦政治经济学院 | 99 | 欧洲 | 法律 | 国际影响力 |
| 99 | 东京大学 | 100 | 亚洲 | 教育 | 毕业生就业率 |
100 rows × 5 columns
In[18]:
df.排名.isin([1, 5, 6])
out[18]:
0 True
1 False
2 False
3 False
4 True...
95 False
96 False
97 False
98 False
99 False
Name: 排名, Length: 100, dtype: bool
现在返回是一个bool列表,想要获取到筛选后的数据在外面套上一层df就行了
In[19]:
df[df.排名.isin([1, 5, 6])]
out[19]:
| 大学名称 | 排名 | 地区 | 学科领域 | 排名依据 | |
|---|---|---|---|---|---|
| 0 | 哈佛大学 | 1 | 北美 | 工程 | 学术声誉 |
| 4 | 圣保罗大学 | 5 | 南美 | 艺术 | 学生满意度 |
| 5 | 约翰内斯堡大学 | 6 | 非洲 | 法律 | 毕业生就业率 |
Tips
- 在Pandas中可以使用
~进行反向筛选,即剔除满足条件的。 - 也可以使用
drop()方法来删除满足的条件列和行 - 在进行范围筛选的使用也可以使用
between()方法
结束语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!
相关文章:
【Python】数据分析+数据挖掘——探索Pandas中的数据筛选
1. 前言 当涉及数据处理和分析时,Pandas是Python编程语言中最强大、灵活且广泛使用的工具之一。Pandas提供了丰富的功能和方法,使得数据的选择、筛选和处理变得简单而高效。在本博客中,我们将重点介绍Pandas中数据筛选的关键知识点ÿ…...
[数据集][目标检测]天牛数据集目标检测数据集VOC格式3050张
数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):3050 标注数量(xml文件个数):3050 标注类别数:1 标注类别名称:["longicorn"] …...
python_day16_设计模式
“”“单例模式”“” “”“工厂模式”“” class Person:passclass Worker(Person):passclass Student(Person):passclass Teacher(Person):passclass Factory:def get_person(self, p_type):if p_type w:return Worker()elif p_type s:return Student()else:return Te…...
uniapp开发小程序-实现中间凸起的 tabbar
一、效果展示: 二、代码实现: 1.首先在pages.json文件中进行tabbar的样式和列表配置,代码如下: {"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/p…...
Vue引入与Vue拦截原理
1. vue引入 第一种方法:在线引入 <script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 第二种方法:本地引入 2. Vue拦截原理——例题 el用于绑定id,data用于定义数据如下例题 <!DOCTYPE html&…...
2023年电赛---运动目标控制与自动追踪系统(E题)OpenMV方案
前言 (1)废话少说,很多人可能无法访问GitHub,所以我直接贴出可能要用的代码。此博客还会进行更新,先贴教程和代码 (2)视频教程: https://singtown.com/learn/49603/ (3&a…...
6G内存运行Llama2-Chinese-7B-chat模型
6G内存运行Llama2-Chinese-7B-chat模型 Llama2-Chinese中文社区 第一步: 从huggingface下载 Llama2-Chinese-7b-Chat-GGML模型放到本地的某一目录。 第二步: 执行python程序 git clone https://github.com/Rayrtfr/llama2-webui.gitcd llama2-web…...
项目经理必备-项目总体计划模板-制式文件,可直接填写使用-公司可用
合同中完整项目名称,黑体,28号字, 居中对齐,项目名称较长时换行填写 当前文档名称,黑体,小初, 居中对齐,文档名称较长时 换行填写 版 本 号 x.x 编制人 日期 20xx年xx月xx日…...
正则表达式系列|(以xx开头xx结尾提取、切分、替换)
正则表达式系列|(以xx开头xx结尾提取、切分、替换) 文章目录 正则表达式系列|(以xx开头xx结尾提取、切分、替换)[TOC] 前言一、以xx开头xx结尾进行数据处理?1.以xx开头xx结尾对文本拆分2.以xx开头xx结尾提取内容3.以xx…...
金融学复习博迪(第1-5章)
第一部分 金融和金融体系 第1章 金融学 金融:资金的流通,即储蓄,信贷、汇兑、股票和证券交易等经济活动的总称。 金融学:研究货币流通的学问。 传统的金融学研究领域大致有两个方向: >宏观层面的金融市场运行理论…...
【前端知识】React 基础巩固(三十七)——自定义connect高阶组件
React 基础巩固(三十七)——自定义connect高阶组件 一、手撸一个自定义connect高阶组件 import { PureComponent } from "react"; import store from "../store";/*** connect的参数:* 参数一: 函数* 参数二: 函数* 返…...
前端PDF导出,使用html2Canvas和jsPDF插件
import html2Canvas from "html2canvas"; import jsPDF from "jspdf"; export function downloadPDF(dom, filename) {const scale 2;window.pageYOffset 0;// 滚动到顶部,避免打印不全document.documentElement.scrollTop 0;document.body.…...
Android 设备兼容性使用详解
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、设备兼容性分类二、硬件设备兼容三、软件 APP 兼容四、兼容不同语言五、兼容不同分辨率六、兼容不同屏幕方向布局七、兼容不同硬件 Feature八、兼容…...
vnc加固
0x00 认识VNC 先我们看看VNC运行的工作流程: VNC客户端通过浏览器或VNC Viewer连接至VNC Server; VNC Server传送一个对话窗口至客户端,要求输入连接密码(可能为空),以及存取的VNC Server显示装置&#…...
Windows下Nginx安装与配置教程
一、前言 1、Nginx是什么? Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。 Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器…...
Iterator迭代器和Generator生成器
Iterator迭代器和for/of循环原理 Iterator迭代器规范 自己创建一个Iterator类,来实现ES6中的迭代器规范: class Iterator {constructor(assemble) {// assemble:需要迭代的数据结构this.assemble = assemble// index:记录迭代的次数(或者索引)this.index = -1}// 必须具…...
Modbus-RTU协议C#实现
1、安装依赖包 System.IO.Ports 2、读协议 /// <summary>/// Modbus-RTU协议读实例/// </summary>private static void Read(){//组装一个请求报文// 01 03 00 00 00 0A C5 CDbyte slave 0x01;//byte function 0x03; //读单个寄存器byte function 0x01; //…...
Redis学习---大数据技术之Redis(NoSQL简介、Redis简介、Redis安装、五大数据类型、相关配置、持久化)
星光下的赶路人star的个人主页 毅力是永久的享受 文章目录 1、NoSQL1.1 NoSQL数据库1.1.1 NoSQL是什么1.1.2 NoSQL的特点1.1.3 NoSQL的适用场景1.1.4 NoSQL的不适场景 1.2 NoSQL家族 2、Redis简介2.1 Redis官网2.2 Redis是什么2.3 Redis的应用场景2.3.1 配合关系型数据库做高速…...
基于组合双向拍卖的共享储能机制研究(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 2.1 算例数据 2.2 买家中标 2.3 卖家中标 🎉3 文献来源 🌈4 Matlab代码实现 💥1 概述 文献来源: 摘要:为满足共享储能中储能用户的互补性和替代性需求、解决常规单…...
服务机器人有哪些品类
服务机器人是指具备自主运动、感知环境、实现人机交互等能力的机器人,它可以被应用于不同的场景,如餐饮、医疗、物流等行业。根据其功能和应用场景的不同,服务机器人可以分为以下几类:1. 餐饮服务机器人 随着社会发展和人们需…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
