(5) 深入探索Python-Pandas库的核心数据结构:Series详解
目录
- 前言
- 1. Series 简介
- 2. Series的特点
- 3. Series的创建
- 3.1 使用列表创建Series
- 3.2 使用字典创建Series
- 3.3 使用列表和自定义索引创建Series
- 3.4 指定数据类型和名称
- 4. Series的索引/切片
- 4.1 下标索引:基于整数位置的索引
- 4.2 基于标签的索引
- 4.3 切片
- 4.4 使用.loc[]和.iloc[]进行索引
- 5. 基本运算
- 5.1 算术运算
- 5.1.1 加法(+)
- 5.2 比较运算
- 5.3 逻辑运算
- 6. 基本属性和方法
- 6.1 基本属性示例
- 6.2 基本方法示例
- 6.3 检测缺失数据的方法
- 7. 金融方面的几个series示例
- 7.1 示例一:股票价格数据
- 7.2 示例二:收益率数据
- 7.3 示例三:交易量数据
- 8. 总结
前言
大家好!我是架构筑梦的Cherry,本期跟大家分享的知识是 pandas 数据结构——DataFrame。
作者的【 Python智能工坊】专栏及【少儿编程Python:趣味编程,探索未来】正在火热更新中🔥🔥🔥,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 !
1. Series 简介
pandas数据结构中的Series是一个一维数组对象,能够保存任何数据类型(整数、字符串、浮点数、Python对象等),并有一个与之关联的标签序列,这些标签被称为“索引”(index)。索引与数据是一一对应的,通过索引可以快速获取、更新或删除数据。Series在pandas数据处理中起着至关重要的作用,是构建更复杂数据结构(如DataFrame)的基础。
以下是关于pandas Series的详细解释:
- 定义:Series类似于一维数组或列表,但它有一个显式的索引,用于标记数据。
- 组成:Series由两部分组成——值(values)和索引(index)。
在金融数据分析中,pandas的Series数据结构扮演着重要角色。它可以用来存储股价、交易量、市盈率等连续或离散的数据,并通过索引轻松访问和操作这些数据。Series支持多种数据类型,允许用户根据实际需求灵活使用。
2. Series的特点
- 一维数组:Series是一维的,意味着它只有一个轴(或维度),类似于Python中的列表。
- 索引:每个Series都有一个索引,用于对数据进行标记。索引可以是整数、字符串、日期等类型。如果不指定索引,pandas将默认创建一个从0开始的整数索引。
- 数据类型:Series可以容纳不同数据类型的元素,包括整数、浮点数、字符串、Python对象等。
- 大小不变性:Series的大小在创建后是不变的,但可以通过某些操作(如append或delete)来改变。
- 操作:Series支持各种操作,如数学运算、统计分析、字符串处理等。
- 缺失数据:Series可以包含缺失数据,pandas使用NaN(Not a Number)来表示缺失或无值。
3. Series的创建
Series可以通过多种方式进行创建,包括但不限于:
- 使用列表或数组:可以传递一个列表或数组作为数据源来创建Series。
- 指定索引:可以为每个元素指定索引标签。
- 使用字典:字典的键成为索引,值成为数据。
- 使用numpy的ndarray:可以直接使用numpy数组来创建Series。
pd.Series()是创建Series的常用方法,格式如下:
pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
参数说明:
- data:这是必须的参数,可以是列表、数组、字典等,用于存储Series中的数据。
- index:可选参数,用于指定索引标签。如果不提供,则默认使用从0开始的整数索引。
- dtype:可选参数,用于指定数据类型。如果未指定,pandas会根据数据内容自动推断数据类型。
- name:可选参数,用于给Series命名。命名后的Series在打印时会显示名称,方便识别。
- copy:可选参数,默认为False。如果为True,则会将数据复制到新的Series中,原始数据不受影响。
- fastpath:是否启用快速路径。默认为 False。启用快速路径可能会在某些情况下提高性能。
下面是几个创建 Series 的实例:
3.1 使用列表创建Series
import pandas as pd
s1 = pd.Series([1, 2, 3, 4, 5])
print(s1)
输出:
0 1
1 2
2 3
3 4
4 5
dtype: int64
输出结果说明:
第一列:0-4 为 索引值,默认从 0 开始;
第二列:1-5 为 数据;
dtype: int64 为该 Series 变量的数据类型;
3.2 使用字典创建Series
import pandas as pd
data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s2 = pd.Series(data)
print(s2)
输出:
a 1
b 2
c 3
d 4
e 5
dtype: int64
3.3 使用列表和自定义索引创建Series
import pandas as pd
labels = ['one', 'two', 'three', 'four', 'five']
s3 = pd.Series([1, 2, 3, 4, 5], index=labels)
print(s3)
输出:
one 1
two 2
three 3
four 4
five 5
dtype: int64
3.4 指定数据类型和名称
import pandas as pd
s4 = pd.Series([1.1, 2.2, 3.3, 4.4, 5.5], dtype=float, name='numbers')
print(s4)
输出:
0 1.1
1 2.2
2 3.3
3 4.4
4 5.5
Name: numbers, dtype: float64
注意:
当使用字典创建Series时,如果字典的键不是有序的(如Python 3.7之前的字典),则Series的索引顺序可能与字典的键插入顺序不同。但在Python 3.7及以后的版本中,字典保持插入顺序。
索引在Series中非常重要,它不仅用于标记数据,还用于数据的对齐和选择。因此,在创建Series时,应仔细考虑索引的设置。
如果在创建Series时提供了与数据长度不一致的索引,pandas会自动对缺失的数据使用NaN(Not a Number)进行填充。
默认情况下,如果不指定索引,pandas会为Series创建一个从0开始的整数索引。这种索引被称为“基于位置的索引”或“隐式索引”。在大多数情况下,这种索引对于数据分析和处理已经足够。然而,在需要明确标记或选择数据的情况下,可以手动指定索引标签。
4. Series的索引/切片
4.1 下标索引:基于整数位置的索引
import pandas as pd# 创建一个默认的Series
s = pd.Series([10, 20, 30, 40, 50])# 使用基于位置的索引访问数据
print(s[0])
print(s[2:4])
输出:
10
2 30
3 40
dtype: int64
4.2 基于标签的索引
在pandas的Series
中,基于标签的索引是一种强大的功能,它允许你通过Series
的索引标签来直接访问或操作数据。这种索引方式特别适用于具有明确标签(如股票名称、日期等)的数据集。
当你创建一个Series
并为其指定了索引时,你就可以使用这些索引标签来访问、修改或选择数据。
下面是基于标签索引的示例:
假设我们有一个Series
,它包含了几个股票在特定日期的收盘价,并使用了股票代码作为索引标签。
import pandas as pd# 创建一个带有股票代码作为索引的Series
stocks = pd.Series([100.5, 201.2, 150.8], index=['AAPL', 'MSFT', 'GOOGL'])# 使用基于标签的索引访问数据
print(stocks['AAPL']) # 输出: 100.5# 使用多个标签选择数据(返回一个Series)
subset = stocks[['AAPL', 'GOOGL']]
print(subset)
# 输出:
# AAPL 100.5
# GOOGL 150.8
# dtype: float64# 修改基于标签的索引的数据
stocks['AAPL'] = 101.0
print(stocks)
# 输出:
# AAPL 101.0
# MSFT 201.2
# GOOGL 150.8
# dtype: float64
在上面的示例中,我们首先创建了一个Series
对象stocks
,其中包含了三个股票代码(‘AAPL’, ‘MSFT’, ‘GOOGL’)和它们对应的收盘价。然后,我们使用这些股票代码作为标签来访问和修改数据。
4.3 切片
与Python中的列表或NumPy数组类似,可以使用切片来访问Series的子集。
无论是基于位置的索引还是基于标签的索引,你都可以使用切片来访问数据的子集。不过,当使用基于标签的索引进行切片时,你需要确保切片的标签在Series的索引中是存在的,并且它们是连续的。
# 使用自定义索引的Series
s = pd.Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])# 使用基于标签的切片(只有当标签连续时才有效)
print(s['A':'C']) # 输出: A 10# B 20# C 30# dtype: int64# 使用基于位置的切片(始终有效)
print(s[1:4]) # 输出: B 20# C 30# D 40# dtype: int64
注意:如果基于标签的切片中的标签不连续或不存在于索引中,那么你会得到一个KeyError。如果你想要选择不连续标签的数据,你需要使用索引的loc属性,并传入一个标签列表。
4.4 使用.loc[]和.iloc[]进行索引
对于更复杂的数据选择或操作,你可以使用.loc[]
方法。虽然对于单个标签的访问,直接使用标签和.loc[]
是等效的,但.loc[]
在处理多个标签或条件选择时更加灵活。
- .loc[]:基于标签的索引。
- .iloc[]:基于位置的索引(总是整数位置)。
# 使用.loc[]基于标签索引
print(s.loc['A':'C'])# 使用.iloc[]基于位置索引
print(s.iloc[1:4])
输出:
A 10
B 20
C 30
dtype: int64
B 20
C 30
D 40
dtype: int64
.loc[]和.iloc[]提供了更明确和灵活的索引方式,特别是在处理复杂的数据集时。
5. 基本运算
在pandas库中,Series
对象支持多种基本运算,这些运算包括算术运算、比较运算和逻辑运算。
以下是关于Series
基本运算的详细解释:
5.1 算术运算
算术运算包括加、减、乘、除等基本操作。
在pandas中,Series
对象之间可以直接进行这些运算,且pandas会自动处理索引对齐。
5.1.1 加法(+)
两个Series
相加时,相同索引位置的元素会相加。如果两个Series
长度相同且索引一致,则直接对应相加;如果长度不同或索引不完全对应,结果的索引将是两个Series
索引的并集,不存在的索引将填充为NaN(表示非数字)。
示例:
import pandas as pd
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([4, 5, 6], index=['a', 'b', 'c'])
result_add = s1 + s2
print(result_add) # 输出:a 5, b 7, c 9, dtype: int64
- 减法(-)、乘法(*)、除法(/):这些运算与加法类似,都是基于索引进行对应元素的运算。
5.2 比较运算
比较运算用于比较两个Series
的元素值,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)等。这些运算会返回一个布尔类型的Series
,表示每个元素比较的结果。
示例:
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([2, 2, 2])
result_eq = s1 == s2 # 比较是否相等
print(result_eq) # 输出:0 False, 1 True, 2 False, dtype: bool
5.3 逻辑运算
逻辑运算在pandas中主要用于合并布尔Series
。但请注意,直接对两个Series
对象进行逻辑运算(如and、or)在pandas中并不直接支持,因为这会引发错误。相反,你应该使用按元素比较产生的布尔Series
,并使用&
(逻辑与)和|
(逻辑或)等操作符进行逻辑运算。
示例:
s1_gt_1 = s1 > 1 # s1中大于1的元素
s2_lt_2 = s2 < 2 # s2中小于2的元素
result_logical = s1_gt_1 & s2_lt_2 # 逻辑与运算
print(result_logical) # 输出:0 False, 1 False, 2 False, dtype: bool
在这个例子中,由于s1
和s2
中没有同时满足s1 > 1
和s2 < 2
的元素,所以结果全为False。
pandas的Series
对象支持丰富的运算操作,包括算术运算、比较运算和逻辑运算。这些运算都是基于索引进行的,能够方便地处理和分析数据。在实际应用中,可以根据需要选择合适的运算操作来处理和分析数据。
6. 基本属性和方法
- 属性:包括
values
(数据值)、index
(索引)、dtype
(数据类型)、name
(名称)等。 - 方法:提供了许多用于数据操作和分析的方法,如
mean()
(计算平均值)、std()
(计算标准差)、unique()
(返回唯一值)等。
下面是基本属性和方法的示例:
6.1 基本属性示例
首先,创建一个Series对象
import pandas as pds = pd.Series([100, 150, 110, 130, 150, 150], index=['语文', '数学', '英语', 'Python', 'Pandas', 'NumPy'],name="考试成绩")
下面,是访问的基本属性:
- shape:返回Series的形状(通常是一个元组,对于Series来说,通常只有一个元素表示长度)
print(s.shape) # 输出: (6,)
- size:返回Series的长度
print(s.size) # 输出: 6
- index:返回Series的索引
print(s.index) # 输出: Index(['语文', '数学', '英语', 'Python', 'Pandas', 'NumPy'], dtype='object')
- values:返回Series的值
print(s.values) # 输出: array([100, 150, 110, 130, 150, 150], dtype=int64)
- name:返回Series的名称
print(s.name) # 输出: 考试成绩
6.2 基本方法示例
- head():查看前几条数据,默认5条
print(s.head()) # 输出前5条数据
- tail():查看后几条数据,默认5条
print(s.tail()) # 输出后5条数据
- describe:返回描述统计信息
print(s.describe())
输出:
count 6.000000
mean 131.666667
std 22.286020
min 100.000000
25% 115.000000
50% 140.000000
75% 150.000000
max 150.000000
Name: 考试成绩, dtype: float64
- idxmax:获取最大值和最小值的索引
print(s.idxmax()) # 输出:数学
print(s.idxmin()) # 输出:语文
- dtype:数据类型
print(s.dtype) # 输出:int64
- sum:求和
print(s.sum()) # 输出:790
- mean:平均值
print(s.mean()) # 输出:131.66666666666666
- max:最大值
print(s.max()) # 输出:150
- min:最小值
print(s.min()) # 输出:100
- std:标准差
print(s.std()) # 输出:22.28601953392904
- astype:将 Series 转换为另一种数据类型
s = s.astype('float64') # 将 Series 中的所有元素转换为 float64 类型
6.3 检测缺失数据的方法
虽然在这个示例中没有缺失数据,但我们可以演示如何使用isnull()
和notnull()
方法。
s_with_missing = pd.Series([100, 150, None, 130, 150, 150], index=['语文', '数学', '英语', 'Python', 'Pandas', 'NumPy'],name="考试成绩")print(s_with_missing.isnull()) # 输出布尔序列,表示哪些位置是缺失值
以上展示了pandas.Series
的一些基本属性和方法。这些属性和方法提供了灵活且强大的工具来操作和分析一维数据。通过结合索引、值和属性,我们可以有效地处理数据并执行各种操作。
7. 金融方面的几个series示例
在金融领域,Series
可以用于存储和处理各种金融数据,如股票价格、收益率、交易量等。以下是几个与金融相关的 Series
示例:
7.1 示例一:股票价格数据
import pandas as pd# 假设有以下股票数据
data = {'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],'收盘价': [100.0, 101.5, 102.1, 100.8, 103.0]}# 将数据转换为pandas的DataFrame,然后选取'收盘价'列转换为Series
df = pd.DataFrame(data)
stock_prices = df.set_index('日期')['收盘价']# 显示Series
print(stock_prices)
输出:
日期
2023-01-01 100.0
2023-01-02 101.5
2023-01-03 102.1
2023-01-04 100.8
2023-01-05 103.0
Name: 收盘价, dtype: float64
7.2 示例二:收益率数据
# 假设有以下收益率数据
dates = pd.date_range(start='2023-01-01', periods=5)
returns = pd.Series([0.01, 0.015, -0.005, 0.003, 0.02], index=dates)# 显示Series
print(returns)
输出:
2023-01-01 0.01
2023-01-02 0.02
2023-01-03 -0.01
2023-01-04 0.00
2023-01-05 0.02
dtype: float64
7.3 示例三:交易量数据
# 假设有以下交易量数据
trade_dates = pd.date_range(start='2023-01-01', periods=4, freq='B') # 只包括工作日
volumes = pd.Series([10000, 12000, 9800, 11500], index=trade_dates)# 显示Series
print(volumes)
输出:
2023-01-02 10000
2023-01-03 12000
2023-01-04 9800
2023-01-05 11500
dtype: int64
这些示例展示了如何使用 pandas
中的 Series
来存储和处理金融数据。在实际应用中,这些数据可能来自多种来源,如数据库、API、文件等。处理这些数据时,可能会涉及到数据清洗、转换、分析和可视化等多个步骤。通过使用 Series
的各种属性和方法,可以方便地进行这些操作,为金融分析和决策提供支持。
8. 总结
pandas的Series数据结构提供了一种灵活且功能强大的方式来存储和处理一维数据。通过显式索引的引入,Series提供了更多的数据处理和分析选项,使其成为数据分析师和数据科学家的重要工具。
相关文章:
(5) 深入探索Python-Pandas库的核心数据结构:Series详解
目录 前言1. Series 简介2. Series的特点3. Series的创建3.1 使用列表创建Series3.2 使用字典创建Series3.3 使用列表和自定义索引创建Series3.4 指定数据类型和名称 4. Series的索引/切片4.1 下标索引:基于整数位置的索引4.2 基于标签的索引4.3 切片4.4 使用.loc[]…...
JAVA之开发神器——IntelliJ IDEA的下载与安装
一、IDEA是什么? IEAD是JetBrains公司开发的专用于java开发的一款集成开发环境。由于其功能强大且符合人体工程学(就是更懂你)的优点,深受java开发人员的喜爱。目前在java开发工具中占比3/4。如果你要走java开发方向,那…...
通过Umijs从0到1搭建一个React项目
有一阵时间没写react了,今天通过umi搭建一个demo项目复习一下react;umi是一个可扩展的企业级前端应用框架,在react市场中还是比较火的一个框架。 Umi官方文档:Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…...
Redis 数据过期及淘汰策略
Redis 数据过期及淘汰策略 过期策略 定时过期 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好&a…...
vue vite+three在线编辑模型导入导出
文章目录 序一、1.0.0版本1.新增2.编辑3.导出4.导入 总结 序 要实现一个类似于数字孪生的场景 可以在线、新增、删除模型 、以及编辑模型的颜色、长宽高 然后还要实现 编辑完后 保存为json数据 记录模型数据 既可以导入也可以导出 一、1.0.0版本 1.新增 先拿建议的立方体来…...
去水印小程序源码修复版-前端后端内置接口+第三方接口
去水印小程序源码,前端后端,内置接口第三方接口, 修复数据库账号密码错误问题,内置接口支持替换第三方接口, 文件挺全的,可以添加流量主代码,搭建需要准备一台服务器,备案域名和http…...
机器学习:预测评估8类指标
机器学习:8类预测评估指标 R方值、平均值绝对误差值MAE、均方误差MSE、均方误差根EMSE、中位数绝对误差MAD、平均绝对百分误差MAPE、可解释方差分EVS、均方根对数误差MLSE。 一、R方值 1、说明: R方值,也称为确定系数或拟合优度ÿ…...
【深度学习基础】MAC pycharm 专业版安装与激活
文章目录 一、pycharm专业版安装二、激活 一、pycharm专业版安装 PyCharm是一款专为Python开发者设计的集成开发环境(IDE),旨在帮助用户在使用Python语言开发时提高效率。以下是对PyCharm软件的详细介绍,包括其作用和主要功能&…...
排序相关算法--1.插入排序+冒泡排序回顾
1.基本分类 2.插入排序 特点:有实践意义(例如后期快排的优化),适应性强,一般不会到时间复杂度最坏的情况。 将第一个元素视为已经排好序的序列。取出下一个元素,在已经排好序的序列中从后往前比较…...
变阻器的故障排除方法有哪些?
变阻器,特别是滑动变阻器,作为电子电路中的常见元件,其故障排除方法主要依据具体的故障现象来确定。以下是一些常见的故障现象及其排除方法: 一、接触不良 现象:电阻器不起作用或电压不稳定。 排除方法: …...
软考《信息系统运行管理员》-3.1信息系统设施运维的管理体系
3.1信息系统设施运维的管理体系 1 信息系统设施运维的对象 基础环境 主要包括信息系统运行环境(机房、设备间、配线室、基站、云计算中心 等)中的空调系统、供配电系统、通信应急设备系统、防护设备系统(如消防系统、安全系统) 等,能维持系统安全正常运转…...
Nginx重定向
Nginx重定向 location 匹配 location匹配的就是后面的URL /WordPress 192.168.118.10/wordpress location匹配的分类和优先级 1.精确匹配 location/对字符串进行完全匹配,必须完全符合2.正则匹配 ^~ 前缀匹配,以什么为开头~ 区分大小写的匹配~* 不区分大小写!~: 区分大小…...
私有化地图离线部署方案之高程检索服务
私有化地图离线部署整体解决方案,除硬件之外,一般主要由基础地图服务、查询定位服务、路径规划服务和高程检索服务构成。 我们已经分享过基础地图服务、查询定位服务和路径规划服务,现在再为你分享高程检索服务的方法。 私有化高程检索服务…...
PostgreSQL 中如何实现数据的增量更新和全量更新的平衡?
文章目录 一、增量更新与全量更新的概念增量更新全量更新 二、考虑的因素1. 数据量2. 数据更改的频率和规模3. 数据一致性要求4. 系统性能和资源利用5. 业务逻辑和流程 三、解决方案(一)混合使用增量更新和全量更新(二)使用临时表…...
数据结构--二叉树相关习题5(判断二叉树是否是完全二叉树 )
1.判断二叉树是否是完全二叉树 辨别: 不能使用递归或者算节点个数和高度来判断。 满二叉树可以用高度和节点来判断,因为是完整的。 但是完全二叉树前面是满的,但是最后一层是从左到右连续这种 如果仍然用这种方法的话,如下图…...
Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。 本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,…...
Python: 分块读取文本文件
在处理大文件时,逐行或分块读取文件是很常见的需求。下面是几种常见的方法,用于在 Python 中分块读取文本文件: 1、问题背景 如何分块读取一个较大的文本文件,并提取出特定的信息? 问题描述: fopen(blank.txt,r) quot…...
服务攻防——中间件Jboss
文章目录 一、Jboss简介二、Jboss渗透2.1 JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)2.2 JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)2.3 JBossMQ JMS 反序列化漏洞(CVE-2017-7504)2.4 Adminis…...
宏碁F5-572G-59K3笔记本笔记本电脑拆机清灰教程(详解)
1. 前言 我的笔记本开机比较慢,没有固态,听说最近固态比较便宜,就想入手一个,于是拆笔记本看一下有没有可以安的装位置。(友情提示,在拆机之前记得洗手并擦干,以防静电损坏电源器件)…...
基于FPGA的LDPC编译码算法设计基础知识
基于FPGA的LDPC编译码算法设计基础知识 数字电路(数电)知识模拟电路(模电)知识1. 放大器1.1. 晶体管放大器1.2. 运算放大器1.3. 管子放大器(真空管放大器)微处理器/单片机知识其他相关知识 基于FPGA的算法设…...
国际网课平台Udemy上的亚马逊云科技AWS免费高分课程和创建、维护EC2动手实践
亚马逊云科技(AWS)是全球云行业最🔥火的云平台,在全球经济形势不好的大背景下,通过网课学习亚马逊云科技AWS基础备考亚马逊云科技AWS证书,对于找工作或者无背景转行做AWS帮助巨大。欢迎大家关注小李哥,及时了解世界最前…...
空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看!
空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看! 关键词:2024深圳eVTOL展 动力电池 高能量密度电池 高性能电池材料 作为2024深圳eVTOL展重要组成部分,2024深圳eVTOL动力电池展将于9月23-25日在深圳坪山燕子湖国际会…...
代码江湖:Python 中的进程与线程
大家好,我是阔升。今天,咱们来聊聊 Python 中的两个"老熟人"——进程和线程。这两个概念可以说是 Python 多任务编程中的"双子星",既相似又不同,让不少小伙伴们头疼不已。不过别担心,今天我们就来…...
根据H在有限域GF(2^m)上求解生成矩阵G
原理 有时间再补充。 注1:使用高斯消去法。如果Py不为单位阵,则说明进行了列置换,此时G不是系统形式。 注2:校验矩阵H必须是行满秩才存在对应的生成矩阵G,且生成矩阵G通常不唯一。 matlab实现:只做列置…...
Django 实现子模版继承父模板
背景 Django的占位符,如果不继承父模板的内容,会被子模版所覆盖,有些业务场景子模版也需要使用到父模板中的内容 可以使用Django自带的标签{% block super %}来实现此效果 base.html 最基础html,相当于第一层html,bl…...
数据安全治理:从库级权限申请到表级权限申请
背景 随着数据安全意识的提高,企业越来越重视数据治理和权限管理。传统数仓大多对库级别进行读写授权,仅对人工标记的敏感库进行表级别授权,但由于敏感等级是由人为标记,错误率较高,故期望将权限申请流程细化到表级申…...
vue3源码(六)渲染原理-runtime-core
1.依赖关系 runtime-dom 依赖于runtime-core,runtime-core 依赖于reactivity和sharedruntime-core提供跨平台的渲染方法createRenderer,用户可以自己传递节点渲染的渲染方法renderOptions,本身不关心用户使用什么APIruntime-dom提供了为浏览器而生的渲染…...
python拆分Excel数据,自动发邮箱
import pandas as pd import poplib import email from email.header import decode_header from email.parser import Parser df = pd.read_excel("年假明细表.xlsx") depts = df["部门"].unique() for dept in depts: department_df = df[df[&q…...
2024年福州延安中学夏季拿云杯拔尖创新人才素养测试(小高组)
1、选择题 那么,mn的值是( ) A、1243 B、1343 C、4029 D、4049 2、填空题 一副扑克牌共54张,其中1到13点各有 4张,每个数字黑色红色各两张,还有两张王牌,至少要取出( )…...
ES6 之 Promise 构造函数知识点总结 (四)
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了 Promise 对象。 Promise 对象有以下两个特点。 对象的状态不受…...
局域网内部如何做网站/网络营销策略方案
2-sat相关复习 noi曾经考过,谁能说得准呢 sat问题 通俗的sat问题表述一般是这样的:有很多个集合,每个集合里面有若干元素,现给出一些取元素的规则,要你判断是否可行,可行则给出一个可行方案。如果所有集合中…...
网站建设实务课本/长沙seo外包平台
这是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。那么,这个著名的程序究竟从何而来呢? 实际上,这个程序的功能只是告知计算机显示 Hello World 这句话。传统意义上,程序员一般用这个程…...
广东省住房和城乡建设部网站/建网络平台要多少费用
1、大力敲击回车键这个恐怕是人所共有的通病了,因为回车键通常是我们完成一件事情时,最后要敲击的一个键,大概是出于一种胜利的兴奋感,每个人在输入这个回车键时总是那么大力而爽快地敲击。本人的多个键盘就是这样报废…...
海洋公司做网站推广/百度竞价排名算法
Java 中 “” 是判断指针是否一样;Object 中 “equals”默认就是 “”;String 类中重写了 “equals”方法。public class Employee {. . .public boolean equals(Object otherObject) {// a quick test to see if the objects are identicalif (this …...
温州网站托管/英文网站建设
实现功能:由每个注册的文档模板获得对应的视图类指针。 1.获得对应文档模板指针 CDocTemplate *pTempl ((CPCApp*)AfxGetApp())->pDocTemplateTest; // pDocTemplateTest为注册的模板 /******************************************************************…...
集团网站建设服务公司/成都seo公司
package work1;import java.util.Scanner;public class Test {//切记,类名一定要大写,这里我出现了一个错误,就是car类名小写,/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubcar …...