当前位置: 首页 > news >正文

【Python从入门到进阶】59、Pandas库中Series对象的操作(二)

接上篇《58、Pandas库中Series对象的操作(一)》
上一篇我们讲解了Pandas库中Series对象的基本概念、对象创建和操作,本篇我们来继续学习Series对象的运算、函数应用、时间序列操作,以及Series的案例实践。

一、Series对象的运算

1. 数值型数据的算术运算

Pandas的Series对象支持基本的算术运算,包括加法、减法、乘法和除法。这些运算可以在Series对象之间进行,也可以与标量(即单一数值)进行。在进行算术运算时,Pandas会尝试进行元素级别的对齐(element-wise alignment),如果Series对象的索引不同,Pandas会尝试基于索引进行匹配,或者在某些情况下使用NaN(Not a Number)来填充缺失的位置。
加法:通过+运算符或add()方法实现。
减法:通过-运算符或sub()方法实现。
乘法:通过*运算符或mul()方法实现。
除法:通过/运算符或div()方法实现。
代码示例:

import pandas as pd# 创建Series对象
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([10, 20, 30, 40])# 加法
s_add = s1 + s2
print("加法:", s_add)# 减法
s_sub = s1 - s2
print("减法:", s_sub)# 乘法
s_mul = s1 * s2
print("乘法:", s_mul)# 除法
s_div = s1 / s2
print("除法:", s_div)

2. 布尔索引与数据筛选

Pandas的Series对象支持基于布尔索引(Boolean Indexing)的数据筛选。布尔索引允许你根据条件表达式的结果来选取Series中的元素。当条件表达式作用于Series对象时,会返回一个与原始Series具有相同索引的布尔型Series,其中True表示满足条件的元素,False表示不满足条件的元素。然后,你可以使用这个布尔型Series来索引原始Series,从而选取满足条件的元素。
条件表达式:使用比较运算符(如==、<、>等)创建条件表达式。
布尔索引:将条件表达式的结果用作索引,选取满足条件的元素。
代码示例:

import pandas as pd# 创建Series对象
s = pd.Series(['apple','banana','cherry','date'])# 布尔索引选以'a'开头的元素
filtered_s = s[s.str.startswith('a')]
print("筛选结果:", filtered_s)

3. 排序操作

Pandas的Series对象提供了两种排序方法:sort_values()和sort_index()。
sort_values():根据Series中的值进行排序。默认情况下,数据按升序排序,但也可以指定ascending=False进行降序排序。
sort_index():根据Series的索引进行排序。同样地,也可以指定ascending参数来控制排序顺序。
这两种方法都会返回一个新的已排序的Series对象,原始Series对象保持不变。
代码示例:

import pandas as pd# 创建带有索引的Series对象
s = pd.Series([3, 1, 4, 1, 5], index=['d', 'b', 'a', 'c', 'e'])# 根据值排序
s_sorted_values = s.sort_values()
print("按值排序:", s_sorted_values)# 根据索引排序
s_sorted_index = s.sort_index()
print("按索引排序:", s_sorted_index)

4. 统计信息

Pandas的Series对象提供了许多统计方法,用于计算数据的描述性统计量。这些统计方法包括:
mean():计算Series中元素的均值(平均值)。
std():计算Series中元素的标准差。
max():返回Series中的最大值。
min():返回Series中的最小值。
此外,还有其他一些常用的统计方法,如median()(中位数)、mode()(众数)、quantile()(分位数)等。这些方法可以帮助你快速了解数据的分布情况和特征。
代码示例:

import pandas as pd  # 创建Series对象  
s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9])  # 计算统计信息  
mean_value = s.mean()  
std_value = s.std()  
max_value = s.max()  
min_value = s.min()  print("均值:", mean_value)  
print("标准差:", std_value)  
print("最大值:", max_value)  
print("最小值:", min_value)

二、Series对象的函数应用

1. 使用apply()方法应用自定义函数

apply()方法是Pandas中Series对象的一个强大工具,它允许用户应用自定义函数到Series中的每个元素。通过apply()方法,用户可以轻松地执行复杂的元素级操作,这些操作可能无法通过内置的Pandas函数直接实现。

示例:定义一个函数,该函数将Series中的每个元素平方,并使用apply()方法将其应用到Series对象上。

import pandas as pd  # 自定义函数,计算平方  
def square(x):  return x ** 2  # 创建Series对象  
s = pd.Series([1, 2, 3, 4, 5])  # 使用apply()方法应用自定义函数  
s_squared = s.apply(square)  
print(s_squared)

2. 使用map()方法应用字典映射

map()方法允许用户将一个字典中的键-值对映射到Series中的元素。当Series中的元素是字典的键时,这些元素将被替换为对应的值。这对于数据转换和分类特别有用。

示例:创建一个字典,将一组数字映射到它们的字符串表示形式,并使用map()方法将其应用到Series对象上。

import pandas as pd  # 创建字典映射  
mapping = {1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}  # 创建Series对象  
s = pd.Series([1, 2, 3, 4, 5])  # 使用map()方法应用字典映射  
s_mapped = s.map(mapping)  
print(s_mapped)

3. 使用str属性进行字符串操作

对于包含字符串的Series对象,Pandas提供了str属性,该属性包含了一系列用于字符串操作的方法。这些方法与Python内置的字符串方法类似,但可以在整个Series对象上高效地应用。

示例:使用str.upper()方法将Series中的字符串转换为大写,并使用str.contains()方法检查字符串是否包含特定的子字符串。

import pandas as pd  # 创建包含字符串的Series对象  
s = pd.Series(['apple', 'banana', 'cherry', 'Date', 'apple pie'])  # 使用str.upper()方法转换为大写  
s_upper = s.str.upper()  
print(s_upper)  # 使用str.contains()方法检查是否包含'apple'  
contains_apple = s.str.contains('apple')  
print(contains_apple)

4.pct_change()函数

pct_change()函数是Pandas库中Series和DataFrame对象的一个方法,用于计算当前元素与前一元素之间的百分比变化。它对于时间序列数据特别有用,因为它可以帮助你快速了解数据是如何随时间变化的。

具体来说,pct_change()方法计算的是当前元素与前一个元素之间的差异,然后将其除以前一个元素(得到的结果是一个比率),再乘以100(将结果转换为百分比)。第一个元素的百分比变化通常是NaN(不是数字),因为没有前一个元素可以与之比较。下面是一个简单的例子来说明pct_change()是如何工作的:

import pandas as pd  # 创建一个简单的 Series  
s = pd.Series([100, 105, 102, 110, 108])  # 计算百分比变化  
change = s.pct_change()  print(change)

输出是这样的:

0         NaN  
1    0.050000  
2   -0.028571  
3    0.078431  
4   -0.018182  
dtype: float64

解释:
第一个元素的百分比变化是 NaN,因为没有前一个元素可以与之比较。
第二个元素的百分比变化是 (105 - 100) / 100 * 100 = 5%。
第三个元素的百分比变化是 (102 - 105) / 105 * 100 = -2.8571%。
以此类推...
默认情况下,pct_change() 会计算与前一个元素的百分比变化,但你也可以通过传递一个整数参数来计算与前面多个元素的百分比变化。例如,s.pct_change(2)会计算当前元素与两个前面的元素的百分比变化。

三、Series对象的时间序列操作

1. 转换为日期时间格式

Pandas 提供了一个非常方便的函数 to_datetime(),可以将 Series 对象中的字符串或其他格式的数据转换为日期时间格式。这在进行时间序列分析时非常重要。

示例:将一个包含日期字符串的 Series 转换为日期时间格式。

import pandas as pd  # 创建一个包含日期字符串的 Series  
dates_str = pd.Series(['2023-01-01', '2023-01-02', '2023-01-03'])  # 使用 to_datetime() 转换为日期时间格式  
dates_dt = pd.to_datetime(dates_str)  
print(dates_dt)

2. 时间序列的日期组件提取

对于日期时间格式的 Series,Pandas 提供了 .dt 访问器,它允许你提取日期时间对象的各个组件,如年、月、日、小时等。

示例:从日期时间格式的 Series 中提取年份和月份。

# 假设 dates_dt 已经是日期时间格式的 Series  # 提取年份  
years = dates_dt.dt.year  
print(years)  # 提取月份  
months = dates_dt.dt.month  
print(months)

3. 时间序列的位移

shift() 方法允许你沿着索引轴(通常是时间轴)移动数据。这对于时间序列分析中的滞后或领先分析非常有用。示例:将时间序列数据向前移动一个单位(例如,一天)。

# 假设 dates_dt 及其对应的值 series 是我们的时间序列数据
values = pd.Series([56, 44, 79], index=dates_dt)# 值向前移动一个单位(日期)
shifted_values = values.shift(1)
print(shifted_values)# 计算数据的变动情况(当前数据 - 前一天数据)
value_changes = values - shifted_values# 打印数据变动情况
print("数据变动情况:")
print(value_changes)

注意:位移后的第一个值将会是 NaN,因为没有前一天的数据可供参考。

4. 时间序列的重采样

resample() 方法允许你根据指定的频率重新采样时间序列数据。这对于将高频数据转换为低频数据(如每日数据转换为每月数据)或将低频数据转换为高频数据(通过插值或填充)非常有用。示例:将每日数据重采样为每月数据,并计算每月的平均值。

# 假设 values 是每日数据的时间序列# 重采样为每月数据,并计算平均值
monthly_mean = values.resample('ME').mean()
# 这里应该是前面56, 44, 79这一月份书所有数据的平均值
# (56+44+79)/3 = 59.666667
print(monthly_mean)

在这个例子中,'M' 表示月份,'MS' 通常用来表示月份的开始,'MD' 通常用来表示月份的结束。Pandas 支持多种频率代码,如 'D'(天)、'H'(小时)等。重采样后,你会得到一个具有新频率的时间序列数据。

四、Series案例实践:股票数据分析

在本案例实践中,我们将展示如何使用Pandas的Series对象对股票数据进行分析和处理。我们将分析一个假设的股票数据集,该数据集包含了某只股票在一段时间内的每日收盘价。

1. 数据准备

假设我们已经有了一个简单的字典,它包含了某只股票几天的收盘价。

import pandas as pd  # 假设的收盘价数据  
stock_data = {  '2023-01-01': 100,  '2023-01-02': 102,  '2023-01-03': 101,  '2023-01-04': 103,  '2023-01-05': 105  
}  # 将字典转换为Pandas Series对象,并设置日期为索引  
stock_prices = pd.Series(stock_data)  
stock_prices.index = pd.to_datetime(stock_prices.index)

2. 数据可视化

使用Matplotlib库来绘制收盘价的时间序列图。

import matplotlib.pyplot as plt  # 绘制收盘价的时间序列图  
# 调用matplotlib.pyplot模块的figure函数创建一个新的图形窗口,并设置其大小  
plt.figure(figsize=(10, 5))  # 调用Series对象的plot方法绘制时间序列图  
# 这里的title参数设置了图形的标题  
stock_prices.plot(title='Stock Price Over Time', grid=True)  # 设置x轴的标签,即日期  
plt.xlabel('Date')  # 设置y轴的标签,即收盘价  
plt.ylabel('Close Price')  # 调用plt.show()函数显示图形  
plt.show()

这段代码的主要目的是使用matplotlib库来绘制一个表示股票收盘价的时间序列图。通过plt.figure()创建一个新的图形窗口,并设置其大小。然后,通过stock_prices.plot()调用Series对象的plot方法,绘制出时间序列图,并设置图形的标题为“Stock Price Over Time”。接着,使用plt.xlabel()和plt.ylabel()分别设置x轴和y轴的标签。最后,调用plt.show()来显示图形。

3. 数据分析

计算每日的收益率(即相对于前一日的百分比变化)。

# 计算每日收益率  
returns = stock_prices.pct_change()  # 显示前几日的收益率  
print("Daily Returns:")  
print(returns.head())

效果:

4. 结论

通过上面的代码,我们展示了如何使用Pandas Series对象来表示和分析简单的股票数据。我们首先创建了一个包含收盘价的Series对象,并使用Matplotlib绘制了时间序列图。接着,我们计算了每日的收益率,并打印了前几日的收益率。这个案例简洁明了,展示了Series对象在数据分析中的基本用法。

至此,我们完成了Series对象的所有讲解。下一篇我们来讲解Pandas库中DataFrame对象的操作。

转载请注明出处:https://guangzai.blog.csdn.net/article/details/140084333

相关文章:

【Python从入门到进阶】59、Pandas库中Series对象的操作(二)

接上篇《58、Pandas库中Series对象的操作(一)》 上一篇我们讲解了Pandas库中Series对象的基本概念、对象创建和操作&#xff0c;本篇我们来继续学习Series对象的运算、函数应用、时间序列操作&#xff0c;以及Series的案例实践。 一、Series对象的运算 1. 数值型数据的算术运…...

【PYG】使用datalist定义数据集,创建一个包含多个Data对象的列表并使用DataLoader来加载这些数据

为了使用你提到的封装方式来创建一个包含多个 Data 对象的列表并使用 DataLoader 来加载这些数据&#xff0c;我们可以按照以下步骤进行&#xff1a; 创建数据&#xff1a;生成节点特征矩阵、边索引矩阵和标签。封装数据&#xff1a;使用 Data 对象将这些数据封装起来。使用 D…...

【设计模式】【创建型5-2】【工厂方法模式】

文章目录 工厂方法模式工厂方法模式的结构示例产品接口具体产品工厂接口具体工厂客户端代码 实际的使用 工厂方法模式 工厂方法模式的结构 产品&#xff08;Product&#xff09;&#xff1a;定义工厂方法所创建的对象的接口。 具体产品&#xff08;ConcreteProduct&#xff0…...

python API自动化(Pytest+Excel+Allure完整框架集成+yaml入门+大量响应报文处理及加解密、签名处理)

1.pytest数据参数化 假设你需要测试一个登录功能&#xff0c;输入用户名和密码后验证登录结果。可以使用参数化实现多组输入数据的测试: 测试正确的用户名和密码登录成功 测试正确的用户名和错误的密码登录失败 测试错误的用户名和正确的密码登录失败 测试错误的用户名和密码登…...

【Postman学习】

Postman是一个非常流行的API开发和测试工具&#xff0c;广泛用于Web服务的开发、测试和调试。它提供了一个图形界面&#xff0c;允许用户轻松地构建、发送和管理HTTP(S)请求&#xff0c;同时查看和分析响应。下面是对Postman接口测试工具的详细解释&#xff1a; 1. Postman简介…...

【Linux】IO多路复用——select,poll,epoll的概念和使用,三种模型的特点和优缺点,epoll的工作模式

文章目录 Linux多路复用1. select1.1 select的概念1.2 select的函数使用1.3 select的优缺点 2. poll2.1 poll的概念2.2 poll的函数使用2.3 poll的优缺点 3. epoll3.1 epoll的概念3.2 epoll的函数使用3.3 epoll的优点3.4 epoll工作模式 Linux多路复用 IO多路复用是一种操作系统的…...

IBCS 虚拟专线——让企业用于独立IP

在当今竞争激烈的商业世界中&#xff0c;企业的数字化运营对网络和服务器的性能有着极高的要求。作为一家企业的 IT 主管&#xff0c;我深刻体会到了在网络和服务器配置方面所面临的种种挑战&#xff0c;以及 IBCS 虚拟专线带来的革命性改变。 我们企业在业务扩张的过程中&…...

驾驭巨龙:Perl中大型文本文件的处理艺术

驾驭巨龙&#xff1a;Perl中大型文本文件的处理艺术 Perl&#xff0c;这门被亲切称为“实用提取和报告语言”的编程语言&#xff0c;自从诞生之日起&#xff0c;就以其卓越的文本处理能力闻名于世。在面对庞大的文本文件时&#xff0c;Perl的强大功能更是得到了充分的体现。本…...

Kafka~特殊技术细节设计:分区机制、重平衡机制、Leader选举机制、高水位HW机制

分区机制 Kafka 的分区机制是其实现高吞吐和可扩展性的重要特性之一。 Kafka 中的数据具有三层结构&#xff0c;即主题&#xff08;topic&#xff09;-> 分区&#xff08;partition&#xff09;-> 消息&#xff08;message&#xff09;。一个 Kafka 主题可以包含多个分…...

springcloud-config 客户端启用服务发现client的情况下使用metadata中的username和password

为了让spring admin 能正确获取到 spring config的actuator的信息&#xff0c;在eureka的metadata中添加了metadata.user.user metadata.user.password eureka.instance.metadata-map.user.name${spring.security.user.name} eureka.instance.metadata-map.user.password${spr…...

云计算 | 期末梳理(中)

1. 经典虚拟机的特点 多态(Polymorphism):支持多种类型的OS。重用(Manifolding):虚拟机的镜像可以被反复复制和使用。复用(Multiplexing):虚拟机能够对物理资源时分复用。2. 系统接口 最基本的接口是微处理器指令集架构(ISA)。应用程序二进制接口(ABI)给程序提供使用硬件资源…...

pytest测试框架pytest-order插件自定义用例执行顺序

pytest提供了丰富的插件来扩展其功能&#xff0c;本章介绍插件pytest-order&#xff0c;用于自定义pytest测试用例的执行顺序。pytest-order是插件pytest-ordering的一个分支&#xff0c;但是pytest-ordering已经不再维护了&#xff0c;建议大家直接使用pytest-order。 官方文…...

吴恩达机器学习 第三课 week2 推荐算法(上)

目录 01 学习目标 02 推荐算法 2.1 定义 2.2 应用 2.3 算法 03 协同过滤推荐算法 04 电影推荐系统 4.1 问题描述 4.2 算法实现 05 总结 01 学习目标 &#xff08;1&#xff09;了解推荐算法 &#xff08;2&#xff09;掌握协同过滤推荐算法&#xff08;Collabo…...

MySQL CASE 表达式

MySQL CASE表达式 一、CASE表达式的语法二、 常用场景1&#xff0c;按属性分组统计2&#xff0c;多条件统计3&#xff0c;按条件UPDATE4, 在CASE表达式中使用聚合函数 三、CASE表达式出现的位置 一、CASE表达式的语法 -- 简单CASE表达式 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女…...

Unity3D 游戏数据本地化存储与管理详解

在Unity3D游戏开发中&#xff0c;数据的本地化存储与管理是一个重要的环节。这不仅涉及到游戏状态、玩家信息、游戏设置等关键数据的保存&#xff0c;还关系到游戏的稳定性和用户体验。本文将详细介绍Unity3D中游戏数据的本地化存储与管理的技术方法&#xff0c;并给出相应的代…...

昇思25天学习打卡营第1天|初学教程

文章目录 背景创建环境熟悉环境打卡记录学习总结展望未来 背景 参加了昇思的25天学习记录&#xff0c;这里给自己记录一下所学内容笔记。 创建环境 首先在平台注册账号&#xff0c;然后登录&#xff0c;按下图操作&#xff0c;创建环境即可 创建好环境后进入即可&#xff0…...

ctfshow-web入门-命令执行(web59-web65)

目录 1、web59 2、web60 3、web61 4、web62 5、web63 6、web64 7、web65 都是使用 highlight_file 或者 show_source 1、web59 直接用上一题的 payload&#xff1a; cshow_source(flag.php); 拿到 flag&#xff1a;ctfshow{9e058a62-f37d-425e-9696-43387b0b3629} 2、w…...

Websocket在Java中的实践——最小可行案例

大纲 最小可行案例依赖开启Websocket&#xff0c;绑定路由逻辑类 测试参考资料 WebSocket是一种先进的网络通信协议&#xff0c;它允许在单个TCP连接上进行全双工通信&#xff0c;即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455&#xff0c;并且已被W3C定义为…...

python请求报错::requests.exceptions.ProxyError: HTTPSConnectionPool

在发送网页请求时&#xff0c;发现很久未响应&#xff0c;最后报错&#xff1a; requests.exceptions.ProxyError: HTTPSConnectionPool(hostsvr-6-9009.share.51env.net, port443): Max retries exceeded with url: /prod-api/getInfo (Caused by ProxyError(Unable to conne…...

【Unity】Excel配置工具

1、功能介绍 通过Excel表配置表数据&#xff0c;一键生成对应Excel配置表的数据结构类、数据容器类、已经二进制数据文件&#xff0c;加载二进制数据文件获取所有表数据 需要使用Excel读取的dll包 2、关键代码 2.1 ExcelTool类 实现一键生成Excel配置表的数据结构类、数据…...

001 线性查找(lua)

文章目录 迭代器主程序 迭代器 -- 定义一个名为 linearSearch 的函数&#xff0c;它接受两个参数&#xff1a;data&#xff08;一个数组&#xff09;和 target&#xff08;一个目标值&#xff09; function linearSearch(data, target) -- 使用 for 循环遍历数组 data&…...

数据结构之链表

储备知识&#xff1a; 线性表 &#xff1a;一对一的数据所组成的关系称为线性表。 线性表是一种数据内部的逻辑关系&#xff0c;与存储形式无关线性表既可以采用连续的顺序存储(数组)&#xff0c;也可以采用离散的链式存储(链表)顺序表和链表都称为线性表 顺序存储就是将数据存…...

【小工具】 Unity相机宽度适配

相机默认是根据高度适配的&#xff0c;但是在部分游戏中需要根据宽度进行适配 实现步骤 定义标准屏幕宽、高判断标准屏幕宽高比与当前的是否相等通过**&#xff08;标准宽度/当前宽度&#xff09; &#xff08;标准高度 / 当前高度&#xff09;**计算缩放调整相机fieldOfView即…...

centos误删yum和python

在下载pkdg时&#xff0c;因为yum报错坏的解释器&#xff0c;然后误删了yum和python。 在下载各种版本&#xff0c;创建各种软连接&#xff0c;修改yum文件都不好使后&#xff0c;发现了这样一个方法&#xff1a;Centos&#xff1a; 完美解决python升级导致的yum报错问题(相信…...

WP黑格导航主题BlackCandy

BlackCandy-V2.0全新升级&#xff01;首推专题区(推荐分类)更多自定义颜色&#xff01;选择自己喜欢的色系&#xff0c;焕然一新的UI设计&#xff0c;更加扁平和现代化&#xff01; WP黑格导航主题BlackCandy...

elasticsearch底层核心组件

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎&#xff0c;它基于Apache Lucene构建&#xff0c;并添加了分布式特性。以下是Elasticsearch的一些底层核心组件&#xff1a; 1. **Lucene**&#xff1a; - Elasticsearch基于Apache Lucene&#xff0c;一个高性能的…...

EasyExcel数据导入

前言&#xff1a; 我先讲一种网上信息的获取方式把&#xff0c;虽然我感觉和后面的EasyExcel没有什么关系&#xff0c;可能是因为这个项目这个操作很难实现&#xff0c;不过也可以在此记录一下&#xff0c;如果需要再拆出来也行。 看上了网页信息&#xff0c;怎么抓到&#x…...

20240630 每日AI必读资讯

&#x1f4da;全美TOP 5机器学习博士发帖吐槽&#xff1a;实验室H100数量为0&#xff01; - 普林斯顿、哈佛「GPU豪门」&#xff0c;手上的H100至少三四百块&#xff0c;然而绝大多数ML博士一块H100都用不上 - 年轻的研究者们纷纷自曝自己所在学校或公司的GPU情况&#xff1a…...

第十一章 Qt的模型视图

目录 一、模型/视图的原理 1、原理分析 2、模型(数据模型) 3、视图 4、代理 二、文件系统模型 1、项目练习 2、UI 设计 3、代码实现 三、字符串链表模型 QStringListModel 1、项目效果 2、项目实现 四、标准项模型(QStandardItemModel) 1、模型分析 2、项目效…...

力扣 单词规律

所用数据结构 哈希表 核心方法 判断字符串pattern 和字符串s 是否存在一对一的映射关系&#xff0c;按照题意&#xff0c;双向连接的对应规律。 思路以及实现步骤 1.字符串s带有空格&#xff0c;因此需要转换成字符数组进行更方便的操作&#xff0c;将字符串s拆分成单词列表…...

10款好用不火的PC软件,真的超好用!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/市场上有很多软件&#xff0c;除了那些常见的大众化软件&#xff0c;还有很多不为人知的小众软件&#xff0c;它们的作用非常强大&#xff0c;简洁…...

Windows怎么实现虚拟IP

在做高可用架构时&#xff0c;往往需要用到虚拟IP&#xff0c;在linux上面有keepalived来实现虚拟ip的设置。在windows上面该怎么弄&#xff0c;keepalived好像也没有windows版本&#xff0c;我推荐一款浮动IP软件PanguVip&#xff0c;它可以实现windows上面虚拟ip的漂移。设置…...

【计算机网络】HTTP——基于HTTP的功能追加协议(个人笔记)

学习日期&#xff1a;2024.6.29 内容摘要&#xff1a;基于HTTP的功能追加协议和HTTP/2.0 HTTP的瓶颈与各功能追加协议 需求的产生 在Facebook、推特、微博等平台&#xff0c;每分每秒都会有人更新内容&#xff0c;我们作为用户当然希望时刻都能收到最新的消息&#xff0c;为…...

【多媒体】Java实现MP4视频播放器【JavaFX】【音视频播放】

在Java中播放视频可以使用多种方案&#xff0c;最常见的是通过Swing组件JFrame和JLabel来嵌入JMF(Java Media Framework)或Xuggler。不过&#xff0c;JMF已经不再被推荐使用&#xff0c;而Xuggler是基于DirectX的&#xff0c;不适用于跨平台。而且上述方案都需要使用第三方库。…...

2024 Parallels Desktop for Mac 功能介绍

Parallels Desktop的简介 Parallels Desktop是一款由Parallels公司开发的桌面虚拟化软件&#xff0c;它允许用户在Mac上运行Windows和其他操作系统。通过强大的技术支持&#xff0c;用户无需重新启动电脑即可在Mac上运行Windows应用程序&#xff0c;实现了真正的无缝切换。 二…...

颍川韩氏,来自战国七雄韩国的豪族

颍川是战国七雄韩国故土&#xff0c;韩国被秦国灭国后&#xff0c;王公贵族们除了坚决反秦的被杀了外&#xff0c;大部分都留存了下来。这些人在楚、汉反秦战争中&#xff0c;成为反秦统一战线的重要力量&#xff0c;其中两人先后被封为重新恢复的韩国的国王。 一个是横阳君韩…...

Spring boot中如何使用Thymeleaf模板

大家好&#xff0c;我是 网创有方。今天给大家分享下Spring boot中如何使用Thymeleaf模板。 在 IntelliJ IDEA 中使用 Thymeleaf 模板引擎来开发 Spring Boot 应用程序是相对简单的。以下是一些基本步骤&#xff0c;帮助你在 IDEA 中设置和使用 Thymeleaf&#xff1a; 创建一个…...

单片机学习(14)--DS18B20温度传感器

DS18B20温度传感器 13.1DS18B20温度传感器基础知识1.DS18B20介绍2.引脚及应用电路3.内部结构框图4.存储器框图5.单总线介绍6.单总线电路规范7.单总线时序结构8.DS18B20操作流程9.DS18B20数据帧 13.2DS18B20温度读取和温度报警器代码1.DS18B20温度读取&#xff08;1&#xff09;…...

ue 材质贴图Tiling repeat

材质问题&#xff0c;如下 贴图显然不符合逻辑&#xff0c;太大&#xff0c;并且是一次性贴图 换一个红砖纹理&#xff0c;就看清了&#xff0c;砖太大了 修改&#xff1a; 拖出一个TexCoord&#xff0c;代表坐标&#xff0c;拖出一个参数&#xff0c;代表次数&#xff0c;如…...

【图像超分辨率】一个简单的总结

文章目录 图像超分辨率(Image Super-Resolution, ISR)1 什么是图像超分辨率&#xff1f;2 图像超分辨率通常有哪些方法&#xff1f;&#xff08;1&#xff09;基于插值的方法&#xff08;2&#xff09;基于重建的方法&#xff08;3&#xff09;基于学习的方法&#xff08;LR im…...

WEB与低代码:B/S架构在开发中的应用与优势

在互联网迅猛发展的今天&#xff0c;WEB应用已经成为人们日常生活和工作中不可或缺的一部分。随着技术的进步和需求的多样化&#xff0c;开发高效、灵活且易于维护的WEB应用变得尤为重要。B/S架构&#xff08;Browser/Server Architecture&#xff09;作为一种常见的WEB应用架构…...

内容营销专家刘鑫炜揭秘:姜萍一夜暴红背后的品牌传播密码

在互联网的浪潮下&#xff0c;品牌传播的方式愈发多样和复杂。近日&#xff0c;江苏省涟水中等专业学校的十七岁中专生姜萍因在世界级数学竞赛中取得优异成绩而一夜暴红&#xff0c;成为网络上的热议焦点。 在这个充满变数的时代&#xff0c;谁也无法预测下一个网红会是谁。然…...

安装VEX外部编辑器

Houdini20配置VEX外部编辑器方法_哔哩哔哩_bilibili 下载并安装Visual Studio Code软件&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 在Visual Studio Code软件内&#xff0c;安装相关插件&#xff0c;如&#xff1a; 中文汉化插件vex插件 安装Houdini Expr…...

ISO 19110全局要求类/req/global/bound-association-role要求的详细解释

/req/global/bound-association-role 要求: 如果模型允许在一个关联角色&#xff08;association role&#xff09;中存在“rolePlayer”关联&#xff0c;并且该角色属于一个“globalProperty”角色&#xff0c;那么这种绑定必须通过一个绑定的关联角色实体&#xff08;bound …...

武汉凯迪正大等简述电缆电容检测:原理、应用与重要性

为了确保电缆的安全稳定运行评估电缆绝缘质量以及检测潜在故障&#xff0c;需要对电缆做一些必要的检测。本文将依照凯迪正大的一些经验对电缆电容检测的原理、应用及其重要性进行简单的序述。 一、电缆电容检测的原理 电缆电容检测基于电容的基本特性&#xff0c;电容是指两个…...

python调用阿里云OSS对象存储

1)安装SDK import oss2 print(oss2.__version__) 如果能返回SDK版号,则安装成功 2)配置访问凭证 import oss2 from project1 import settings #以下参数在阿里云账号中可以查到 auth=oss2.Auth(settings.ACCESS_KEY_ID, settings.ACCESS_KEY_SECRET) endpoint=settings.E…...

530、二叉搜索树的最小绝对差

给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 代码如下&#xff1a; class Solution { private: int result INT_MAX; TreeNode* pre NULL; void traversal(TreeNode…...

docker配置redis主从复制

下载redis,复制redis.conf 主节点(6379) 修改redis.conf # bind 127.0.0.1 # 注释掉这里 protected-mode no # 改为no port 6379从节点(6380) 修改redis.conf bind 127.0.0.1 protected-mode no # 改为no port 6380 replicaof 172.17.0.2 6379 # 这里的ip为主节点容器的i…...

IPython调试秘籍:pdb调试器深度解析与实战

&#x1f41e; IPython调试秘籍&#xff1a;pdb调试器深度解析与实战 在Python编程中&#xff0c;调试是开发过程中不可或缺的一环。IPython&#xff0c;作为一个强大的交互式Python解释器&#xff0c;内置了pdb调试器&#xff0c;使得代码调试变得异常便捷。本文将深入探讨如…...

MySQL 死锁处理

查询是否锁表 SHOW OPEN TABLES WHERE In_use > 0; 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 查看进程信息 SHOW PROCESSLIST; 或者 SELECT * FROM INFORMATION_SCHE…...

web服务之Nginx

web服务之Nginx &#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Li…...

Excel多表格合并

我这里一共有25张表格: 所有表的表头和格式都一样,但是内容不一样: 现在我要做的是把所有表格的内容合并到一起,研究了一下发现WPS的这项功能要开会员的,本来想用代码撸出来的,但是后来想想还是找其他办法,后来找到"易用宝"这个插件,这个插件可以从如下地址下载:ht…...

北京十大拆迁律师事务所排名

历史时刻在重演&#xff0c;土地征地拆迁作为城市发展中不可或缺的环节备受地方政府重视。然而&#xff0c;在土地征收过程中&#xff0c;往往因为拆迁补偿引发各种纠纷案件&#xff0c;给拆迁方和被拆迁方带来重大损失&#xff0c;侵害双方利益&#xff0c;尤其是被征收人。因…...

一文让你彻底搞懂什么是CDN

一、引言 在当今互联网时代&#xff0c;网站的加载速度和稳定性是用户体验的关键因素之一。而CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;作为提升网站性能的重要技术手段&#xff0c;受到了广泛的关注和应用。本篇博客将深入探讨CDN的工作…...

MySQL的Docker部署方式

说明:Docker部署MySQL主要是简单快速&#xff0c;不会对电脑系统造成污染。假如你的本地没有Docker&#xff0c;或者你不会使用Docker&#xff0c;则使用PyCharm去启动MySQL&#xff0c;或者直接在本机安装MySQL都是可以的。最重要的是&#xff0c;你要有一个MySQL环境&#xf…...

基于Spring Boot框架的EAM系统设计与实现

摘 要&#xff1a;文章设计并实现一个基于Spring Boot框架的EAM系统&#xff0c;以应对传统人工管理模式存在的低效与信息管理难题。系统利用Java语言、JSP技术、MySQL数据库等技术栈&#xff0c;构建了一个B/S架构的高效管理平台&#xff0c;提升了资产管理的信息化水平。该系…...

4JJ1动力+定制化冷厢翼放冷链版助你夏日创富遥遥领“鲜”

夏日高温,对于生鲜食材的运输来说是个巨大的挑战。如何确保物品新鲜及时的送达,成为摆在物流行业面前不得不思考的问题。冷链物流的重要性愈发凸显,而高效、可靠的冷藏车则成为了解决这一问题的关键。那么,面对市场上琳琅满目的冷藏车产品,如何选到一款既省心又高效赚钱的…...

爬虫案例-亚马逊反爬分析-验证码突破(x-amz-captcha)

总体概览&#xff1a;核心主要是需要突破该网站的验证码&#xff0c;成功后会返回我们需要的参数后再去请求一个中间页&#xff08;类似在后台注册一个session&#xff09;&#xff0c;最后需要注意一下 IP 是不能随意切换的 主要难点&#xff1a; 1、梳理整体反爬流程 2、验证…...

100个 Unity小游戏系列五 -Unity 抽奖游戏专题三老虎机游戏

一、演示效果 二、知识点讲解 2.1 布局 public void CreateItems(SlotsData[] slotsData){isInited false;slotsPrizeList new List<SlotsData>();for (int i 0; i < slotsData.Length; i){var item slotsData[i];slotsPrizeList.Add(item);}float bottomY -it…...

Flutter 中的 CompositedTransformTarget 小部件:全面指南

Flutter 中的 CompositedTransformTarget 小部件&#xff1a;全面指南 在Flutter的动画和高级布局系统中&#xff0c;CompositedTransformTarget是一个与CompositedTransformFollower配合使用的组件&#xff0c;用于创建硬件加速的跟随动画和视差效果。这种类型的动画通常用于…...

电压、电流、功率

//**********************************************************************************// 380V电压 额定功率1.732*额定电压*额定电流*功率因素 220V电压 额定功率额定电压*额定电流*功率因素 单相&#xff0c;功率1KW&#xff0c;电流约4.5A。 三相&#xff0c;功率1KW…...

【项目】教你手把手完成博客系统(三)显示用户信息 | 实现退出登录 | 实现发布博客

文章目录 教你手把手完成博客系统&#xff08;三&#xff09;7.实现显示用户信息1.约定前后端交互接口2.前端通过ajax发起请求3.服务器处理请求 8.实现退出登录1.约定前后端的接口2.前端发起请求3.服务器处理请求 9.实现发布博客1.约定前后端的交互接口2.前端构造请求3.服务器处…...