Python酷库之旅-第三方库Pandas(018)

目录

一、用法精讲

44、pandas.crosstab函数

44-1、语法

44-2、参数

44-3、功能

44-4、返回值

44-5、说明

44-6、用法

44-6-1、数据准备

44-6-2、代码示例

44-6-3、结果输出

45、pandas.cut函数

45-1、语法

45-2、参数

45-3、功能

45-4、返回值

45-5、说明

45-6、用法

45-6-1、数据准备

45-6-2、代码示例

45-6-3、结果输出 

46、pandas.qcut函数

46-1、语法

46-2、参数

46-3、功能

46-4、返回值

46-5、说明

46-6、用法

46-6-1、数据准备

46-6-2、代码示例

46-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

44、pandas.crosstab函数
44-1、语法
# 44、pandas.crosstab函数
pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)
Compute a simple cross tabulation of two (or more) factors.

By default, computes a frequency table of the factors unless an array of values and an aggregation function are passed.

Parameters:
index
array-like, Series, or list of arrays/Series
Values to group by in the rows.

columns
array-like, Series, or list of arrays/Series
Values to group by in the columns.

values
array-like, optional
Array of values to aggregate according to the factors. Requires aggfunc be specified.

rownames
sequence, default None
If passed, must match number of row arrays passed.

colnames
sequence, default None
If passed, must match number of column arrays passed.

aggfunc
function, optional
If specified, requires values be specified as well.

margins
bool, default False
Add row/column margins (subtotals).

margins_name
str, default ‘All’
Name of the row/column that will contain the totals when margins is True.

dropna
bool, default True
Do not include columns whose entries are all NaN.

normalize
bool, {‘all’, ‘index’, ‘columns’}, or {0,1}, default False
Normalize by dividing all values by the sum of values.

If passed ‘all’ or True, will normalize over all values.

If passed ‘index’ will normalize over each row.

If passed ‘columns’ will normalize over each column.

If margins is True, will also normalize margin values.

Returns:
DataFrame
Cross tabulation of the data.
44-2、参数

44-2-1、index(必须)用于交叉表的行索引的数组或序列,这通常是DataFrame中的一列或多列,用于确定交叉表的行。

44-2-2、columns(必须)用于交叉表的列索引的数组或序列,这同样是DataFrame中的一列或多列,用于确定交叉表的列。

44-2-3、values(可选,默认值为None)如果提供,它应该是DataFrame中的一列,其值将根据aggfunc参数指定的函数进行聚合,以填充交叉表的单元格;如果不提供,则默认计算每个组合中的观测数(即计数)。

44-2-4、rownames/colnames(可选,默认值为None)在较新版本的pandas中,这两个参数可能已被弃用或不再使用,它们原本用于为行和列索引提供自定义名称,但现在通常建议直接使用index和columns参数的列名作为行和列索引的名称。

44-2-5、aggfunc(可选,默认值为None)用于聚合values参数指定的值的函数,如果values为None,则默认为'count',即计算每个组合的观测数,其他函数有'sum'、'mean'、'max'、'min'等。

44-2-6、margins(可选,默认值为False)布尔值,如果为True,则会在交叉表的末尾添加一个全行/全列,包含所有值的聚合(基于aggfunc)。

44-2-7、margins_name(可选,默认值为'All')字符串,当margins=True时,用于命名全行/全列的标签。

44-2-8、dropna(可选,默认值为True)布尔值,如果为True,则会从结果中删除包含缺失值的行或列(取决于index和columns中的缺失值);如果为False,则包含缺失值的组合也会出现在交叉表中,但它们的值将取决于aggfunc和values的设置。

44-2-9、normalize(可选,默认值为False)布尔值或字符串('index'或'columns'),如果为True,则会对值进行归一化处理,使得每个行(或列,取决于归一化方式)的总和等于1;如果为'index',则对每行进行归一化;如果为'columns',则对每列进行归一化。

44-3、功能

        用于创建交叉表(也称为列联表或频数表)。

44-4、返回值

        返回值是一个新的DataFrame,该DataFrame展示了基于index和columns参数指定的行和列索引的交叉表。

44-5、说明

44-5-1、如果未指定values和aggfunc参数,则交叉表中的值默认为每个组合的观测数量。

44-5-2、如果指定了values和aggfunc参数,则交叉表中的值是根据aggfunc指定的聚合函数对values中的值进行聚合得到的结果。

44-5-3、如果margins参数为True,则返回的DataFrame还会包含一个额外的全行和/或全列(取决于margins的具体设置),用于显示所有行和/或列的总和。

44-5-4、如果normalize参数为True或'all',则交叉表中的值会被归一化,使得每行或每列(或整个交叉表)的总和等于 1;如果normalize为'index'或'columns',则分别对每行或每列进行归一化。

44-6、用法
44-6-1、数据准备
44-6-2、代码示例
# 44、pandas.crosstab函数
import pandas as pd
import numpy as np
# 创建一个示例数据集
data = {
    'Date': pd.date_range('2023-01-01', periods=6, freq='D'),
    'City': ['New York', 'Los Angeles', 'New York', 'Los Angeles', 'New York', 'Los Angeles'],
    'Category': ['A', 'A', 'B', 'B', 'A', 'B'],
    'Values': [100, 200, 150, 250, np.nan, 300]
}
df = pd.DataFrame(data)
print("原始数据集:")
print(df)
# 使用crosstab函数创建交叉表
crosstab_result = pd.crosstab(
    index=[df['Date'], df['City']],
    columns=df['Category'],
    values=df['Values'],
    rownames=['Date', 'City'],
    colnames=['Category'],
    aggfunc='sum',
    margins=True,
    margins_name='All',
    dropna=True,
    normalize=False
)
print("\ncrosstab结果:")
print(crosstab_result)
44-6-3、结果输出
# 44、pandas.crosstab函数
# 原始数据集:
#         Date         City Category  Values
# 0 2023-01-01     New York        A   100.0
# 1 2023-01-02  Los Angeles        A   200.0
# 2 2023-01-03     New York        B   150.0
# 3 2023-01-04  Los Angeles        B   250.0
# 4 2023-01-05     New York        A     NaN
# 5 2023-01-06  Los Angeles        B   300.0

# crosstab结果:
# Category                             A      B     All
# Date                City                             
# 2023-01-01 00:00:00 New York     100.0    NaN   100.0
# 2023-01-02 00:00:00 Los Angeles  200.0    NaN   200.0
# 2023-01-03 00:00:00 New York       NaN  150.0   150.0
# 2023-01-04 00:00:00 Los Angeles    NaN  250.0   250.0
# 2023-01-05 00:00:00 New York       0.0    NaN     NaN
# 2023-01-06 00:00:00 Los Angeles    NaN  300.0   300.0
# All                              300.0  700.0  1000.0
45、pandas.cut函数
45-1、语法
# 45、pandas.cut函数
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ordered=True)
Bin values into discrete intervals.

Use cut when you need to segment and sort data values into bins. This function is also useful for going from a continuous variable to a categorical variable. For example, cut could convert ages to groups of age ranges. Supports binning into an equal number of bins, or a pre-specified array of bins.

Parameters:
x
array-like
The input array to be binned. Must be 1-dimensional.

bins
int, sequence of scalars, or IntervalIndex
The criteria to bin by.

int : Defines the number of equal-width bins in the range of x. The range of x is extended by .1% on each side to include the minimum and maximum values of x.

sequence of scalars : Defines the bin edges allowing for non-uniform width. No extension of the range of x is done.

IntervalIndex : Defines the exact bins to be used. Note that IntervalIndex for bins must be non-overlapping.

right
bool, default True
Indicates whether bins includes the rightmost edge or not. If right == True (the default), then the bins [1, 2, 3, 4] indicate (1,2], (2,3], (3,4]. This argument is ignored when bins is an IntervalIndex.

labels
array or False, default None
Specifies the labels for the returned bins. Must be the same length as the resulting bins. If False, returns only integer indicators of the bins. This affects the type of the output container (see below). This argument is ignored when bins is an IntervalIndex. If True, raises an error. When ordered=False, labels must be provided.

retbins
bool, default False
Whether to return the bins or not. Useful when bins is provided as a scalar.

precision
int, default 3
The precision at which to store and display the bins labels.

include_lowest
bool, default False
Whether the first interval should be left-inclusive or not.

duplicates
{default ‘raise’, ‘drop’}, optional
If bin edges are not unique, raise ValueError or drop non-uniques.

ordered
bool, default True
Whether the labels are ordered or not. Applies to returned types Categorical and Series (with Categorical dtype). If True, the resulting categorical will be ordered. If False, the resulting categorical will be unordered (labels must be provided).

Returns:
out
Categorical, Series, or ndarray
An array-like object representing the respective bin for each value of x. The type depends on the value of labels.

None (default) : returns a Series for Series x or a Categorical for all other inputs. The values stored within are Interval dtype.

sequence of scalars : returns a Series for Series x or a Categorical for all other inputs. The values stored within are whatever the type in the sequence is.

False : returns an ndarray of integers.

bins
numpy.ndarray or IntervalIndex.
The computed or specified bins. Only returned when retbins=True. For scalar or sequence bins, this is an ndarray with the computed bins. If set duplicates=drop, bins will drop non-unique bin. For an IntervalIndex bins, this is equal to bins.
45-2、参数

45-2-1、x(必须)输入的数组或序列,包含要分组的连续数据。

45-2-2、bins(必须)区间边界的数组或序列,如果bins是一个整数,函数会自动生成从x.min()到x.max()的等宽区间,区间数量为bins(注意,这会导致bins-1个区间);如果bins是一个序列,它将被解释为区间的边界,并定义每个区间的开放或闭合。

45-2-3、right(可选,默认值为True)布尔值,如果为True,则区间是右闭的(即每个区间包括右端点);如果为False,则区间是左闭的(即每个区间包括左端点)。

45-2-4、labels(可选,默认值为None)用于标记输出类别的数组或序列,如果给定,它必须与生成的区间数量相同;如果未提供,则使用默认标签,如[(0, 1], (1, 2], ...。

45-2-5、retbins(可选,默认值为False)布尔值,如果为True,则返回区间边界数组和分类数组。

45-2-6、precision(可选,默认值为3)整数,用于设置返回区间标签的浮点数精度。只有当bins是整数且labels未指定时,此参数才有效。

45-2-7、include_lowest(可选,默认值为False)布尔值,如果为True,则第一个区间将包括其左边界,这对于不均匀的bins或当bins的第一个值大于x的最小值时特别有用。

45-2-8、duplicates(可选,默认值为'raise'){'raise', 'drop'},如果bins包含重复值,则:

45-2-8-1、'raise':引发ValueError。
45-2-8-2、'drop':删除重复值,但仅保留第一个出现的值。

45-2-9、ordered(可选,默认值为True)布尔值,如果为True,则返回的Categorical对象是有序的,这对于后续的数据分析(如排序)很重要。

45-3、功能

        将连续的数值型数据按照指定的区间(或称为“桶”)进行分割,从而将连续的数值变量转换为离散的类别变量,这在数据分析和机器学习的特征工程中尤其有用,因为它可以帮助揭示不同区间内的数据分布特征,或者简化模型的输入。

45-4、返回值

45-4-1、当不设置retbins=True时,pandas.cut函数返回一个Categorical对象,该对象包含了输入数据 x 中每个值所属的区间标签,Categorical对象是一种特殊的pandas数据类型,用于表示固定数量的类别,且这些类别是有序的(如果ordered=True)。

45-4-2、当设置retbins=True时,pandas.cut函数除了返回上述的Categorical对象外,还会额外返回一个数组,该数组包含了用于划分区间的边界值,这允许用户同时获取区间标签和区间边界,便于后续的数据处理和分析。

45-5、说明

        无

45-6、用法
45-6-1、数据准备
45-6-2、代码示例
# 45、pandas.cut函数
import pandas as pd
# 创建一个示例数据集
data = {
    'Age': [22, 25, 45, 33, 50, 41, 23, 37, 29, 31, 35, 48, 52, 44, 27]
}
df = pd.DataFrame(data)
print("原始数据集:")
print(df)
# 定义区间
bins = [20, 30, 40, 50, 60]
# 使用cut函数将年龄分割成不同的区间
df['Age Group'] = pd.cut(
    x=df['Age'],
    bins=bins,
    right=True,
    labels=['20-30', '30-40', '40-50', '50-60'],
    retbins=False,
    precision=0,
    include_lowest=True,
    duplicates='raise',
    ordered=True
)
print("\n分割后的数据集:")
print(df)
45-6-3、结果输出 
# 45、pandas.cut函数
# 原始数据集:
#     Age
# 0    22
# 1    25
# 2    45
# 3    33
# 4    50
# 5    41
# 6    23
# 7    37
# 8    29
# 9    31
# 10   35
# 11   48
# 12   52
# 13   44
# 14   27

# 分割后的数据集:
#     Age Age Group
# 0    22     20-30
# 1    25     20-30
# 2    45     40-50
# 3    33     30-40
# 4    50     40-50
# 5    41     40-50
# 6    23     20-30
# 7    37     30-40
# 8    29     20-30
# 9    31     30-40
# 10   35     30-40
# 11   48     40-50
# 12   52     50-60
# 13   44     40-50
# 14   27     20-30
46、pandas.qcut函数
46-1、语法
# 46、pandas.qcut函数
pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')
Quantile-based discretization function.

Discretize variable into equal-sized buckets based on rank or based on sample quantiles. For example 1000 values for 10 quantiles would produce a Categorical object indicating quantile membership for each data point.

Parameters:
x
1d ndarray or Series
q
int or list-like of float
Number of quantiles. 10 for deciles, 4 for quartiles, etc. Alternately array of quantiles, e.g. [0, .25, .5, .75, 1.] for quartiles.

labels
array or False, default None
Used as labels for the resulting bins. Must be of the same length as the resulting bins. If False, return only integer indicators of the bins. If True, raises an error.

retbins
bool, optional
Whether to return the (bins, labels) or not. Can be useful if bins is given as a scalar.

precision
int, optional
The precision at which to store and display the bins labels.

duplicates
{default ‘raise’, ‘drop’}, optional
If bin edges are not unique, raise ValueError or drop non-uniques.

Returns:
out
Categorical or Series or array of integers if labels is False
The return type (Categorical or Series) depends on the input: a Series of type category if input is a Series else Categorical. Bins are represented as categories when categorical data is returned.

bins
ndarray of floats
Returned only if retbins is True.

Notes

Out of bounds values will be NA in the resulting Categorical object
46-2、参数

46-2-1、x(必须)要分箱(或分桶)的一维数组或类似数组的对象。

46-2-2、q(必须)int或array-like of quantiles,如果是一个整数,它表示要分成的箱(或桶)的数量;如果是一个数组,则必须包含从0到1的浮点数,表示分位数。例如[0, 0.25, 0.5, 0.75, 1.]会将数据分成四个等宽的区间(或尽量等宽)。

46-2-3、labels(可选,默认值为None)用于指定每个箱(或桶)的标签,如果为None(默认值),则会自动生成标签(通常是基于整数索引的);如果为False,则不返回标签;如果提供了数组,其长度必须与生成的箱数相同。

46-2-4、retbins(可选,默认值为False)如果为True,则返回用于分箱的边界数组(即每个箱的最小值和下一个箱的最小值之间的值,除了最后一个箱,其边界是无穷大)。

46-2-5、precision(可选,默认值为3)控制内部计算的精度,更高的精度可以减少由浮点数舍入引起的误差,但可能会增加计算时间。

46-2-6、duplicates(可选,默认值为'raise')如果q参数中有重复的分位数,并且duplicates='raise'(默认值),则会抛出错误;如果duplicates='drop',则忽略重复的分位数。

46-3、功能

        用于将连续数据根据分位数划分成等频(或近似等频)区间的重要工具,其功能和返回值可以归纳如下:

46-3-1、等频分箱:pandas.qcut函数基于数据的分位数进行分箱,确保每个箱(或桶)中的样本数量大致相等(在可能的情况下),这对于需要平衡各个类别中样本数量的场景特别有用。

46-3-2、自定义分位数:除了将数据等频分箱外,用户还可以通过指定q参数中的分位数数组来自定义分箱方式,从而实现更精细的数据划分。

46-3-3、数据离散化:在数据预处理和特征工程中,pandas.qcut函数常用于将连续变量离散化,以便进行后续的分析、建模或可视化。

46-4、返回值

46-4-1、如果retbins=False(默认值),则返回两个对象:

46-4-1-1、bins:一个与x形状相同的分类数组(Categorical dtype),表示每个元素所属的箱(或桶)。

46-4-1-2、labels(如果指定了)一个数组,包含每个箱(或桶)的标签。

46-4-2、如果retbins=True,则返回三个对象:

46-4-2-1、bins :x形状相同的分类数组。

46-4-2-2、labels(如果指定了)一个数组,包含每个箱(或桶)的标签。

46-4-2-3、bin_edges:一个数组,表示箱(或桶)的边界。

46-5、说明

        无

46-6、用法
46-6-1、数据准备
46-6-2、代码示例
# 46、pandas.qcut函数
import pandas as pd
# 创建一个示例数据集
data = {
    'Age': [22, 25, 45, 33, 50, 41, 23, 37, 29, 31, 35, 48, 52, 44, 27]
}
df = pd.DataFrame(data)
print("原始数据集:")
print(df)
# 使用qcut函数将年龄按分位数分割成四个区间
df['Age Group'] = pd.qcut(
    x=df['Age'],
    q=4,
    labels=['Q1', 'Q2', 'Q3', 'Q4'],
    retbins=False,
    precision=3,
    duplicates='raise'
)
print("\n按分位数分割后的数据集:")
print(df)
46-6-3、结果输出
# 46、pandas.qcut函数
# 原始数据集:
#     Age
# 0    22
# 1    25
# 2    45
# 3    33
# 4    50
# 5    41
# 6    23
# 7    37
# 8    29
# 9    31
# 10   35
# 11   48
# 12   52
# 13   44
# 14   27

# 按分位数分割后的数据集:
#     Age Age Group
# 0    22        Q1
# 1    25        Q1
# 2    45        Q4
# 3    33        Q2
# 4    50        Q4
# 5    41        Q3
# 6    23        Q1
# 7    37        Q3
# 8    29        Q2
# 9    31        Q2
# 10   35        Q2
# 11   48        Q4
# 12   52        Q4
# 13   44        Q3
# 14   27        Q1

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/794126.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11-《风信子》

风信子 风信子(学名:Hyacinthus orientalis L.):是多年草本球根类植物,鳞茎卵形,有膜质外皮,皮膜颜色与花色成正相关,未开花时形如大蒜,原产地中海沿岸及小亚细亚一带&am…

从人工巡检到智能预警:视频AI智能监控技术在水库/河湖/水利防汛抗洪中的应用

一、背景需求分析 近日,我国多省市遭遇连日暴雨,导致水库、湖泊、河道等水域水位暴涨,城市内涝频发。随着夏季汛期的到来,降雨天气频繁,水利安全管理面临严峻挑战。为保障水库安全、预防和减少洪涝灾害,采…

java中Error与Exception的区别

java中Error与Exception的区别 1、错误(Error)1.1 示例 2、 异常(Exception)2.1 示例 3、 区别总结 💖The Begin💖点点关注,收藏不迷路💖 当我们谈论编程中的错误(Error&…

【zabbix7】开启HTTP authentication实现单点登录

开启HTTP authentication实现单点登录 一、新建http验证用户 htpasswd -c /etc/nginx/.htpasswd another_username # 在提示中输入密码二、新建Nginx配置文件 把zabbix.conf拷贝一份,然后修改listen监听的端口。 cp zabbx.conf zabbix_http.conf 每个location中新…

出现 failed to remove xxxx: Invalid argument 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 这好像是一个Git的一个Bug,对应有个下下策的解决方式 1. 问题所示 Git提交的时候出现如下问题 Git warning:failed to remove debug.log:invalid argumentgit clean -f -1 --F:\xxx failed to rem…

YOLOv10改进 | 主干/Backbone篇 | 轻量级网络ShuffleNetV1(附代码+修改教程)

一、本文内容 本文给大家带来的改进内容是ShuffleNetV1,这是一种为移动设备设计的高效CNN架构。它通过使用点群卷积和通道混洗等操作,减少了计算成本,同时保持了准确性,通过这些技术,ShuffleNet在降低计算复杂度的同时…

初始网络知识

前言👀~ 上一章我们介绍了使用java代码操作文件,今天我们来聊聊网络的一些基础知识点,以便后续更深入的了解网络 网络 局域网(LAN) 广域网(WAN) 路由器 交换机 网络通信基础 IP地址 端…

数据结构 —— FloydWarshall算法

数据结构 —— FloydWarshall算法 FloydWarshall算法三种最短路径算法比较1. Dijkstra算法2. Bellman-Ford算法3. Floyd-Warshall算法总结 我们之前介绍的两种最短路径算法都是单源最短路径,就是我们要指定一个起点来寻找最短路径,而我们今天介绍的Floyd…

YOLOv10改进 | Conv篇 | RCS-OSA替换C2f实现暴力涨点(减少通道的空间对象注意力机制)

一、本文介绍 本文给大家带来的改进机制是RCS-YOLO提出的RCS-OSA模块,其全称是"Reduced Channel Spatial Object Attention",意即"减少通道的空间对象注意力"。这个模块的主要功能是通过减少特征图的通道数量,同时关注空…

MySQL实战45讲学习笔记(持续更新ing……)

文章目录 一、基础架构:一条SQL查询语句是如何执行的?概览连接器查询缓存分析器优化器执行器 二、日志系统:一条SQL更新语句是如何执行的?redo logbinlog两阶段提交 一、基础架构:一条SQL查询语句是如何执行的&#xf…

动态规划之数字三角形模型+最长上升子序列模型

首先,我们从集合角度重新看待DP: 直接看题:https://www.acwing.com/problem/content/1029/ 就是取纸条的原题,我们令f[i1,j1,i2,j2]表示从(1,1),(1,1)分别走到(i1,j1),(i2,j2)的路径的max i1j1i2j2,于是我们可以把状…

ArrayList----源码分析

源码中的简介: List接口的可调整数组实现。实现所有可选列表操作,并允许所有元素,包括null。除了实现List接口之外,这个类还提供了一些方法来操作内部用于存储列表的数组的大小。(这个类大致相当于Vector,只是它是不同…

广电日志分析系统

需求 广电集团中有若干个系统都产生日志信息,目前大约分布与70到80台服务器中,分别是windows与Linux操作系统。需要将服务器上产生的日志文件利用我们的技术进行解析 设计 每个日志工作站负责30-50个服务器的日志解析工作。可以根据实际需求进行设置&…

ESP32CAM物联网教学11

ESP32CAM物联网教学11 霍霍webserver 在第八课的时候,小智把乐鑫公司提供的官方示例程序CameraWebServer改成了明码,这样说明这个官方程序也是可以更改的嘛。这个官方程序有四个文件,一共3500行代码,看着都头晕,小智决…

基于Python+Flask+MySQL的新冠疫情可视化系统

基于PythonFlaskMySQL的新冠疫情可视化系统 FlaskMySQL 基于PythonFlaskMySQL的新冠疫情可视化系统 项目主要依赖前端:layui,Echart,后端主要是Flask,系统的主要支持登录注册,Ecahrt构建可视化图,可更换主…

Oracle序列迁移重建

原因:oracle数据导入后序列不一致 解决办法:从原库中导出一份最新的序列号,在目标库中导入 1.删除目标库该用户下的所有索引 select DROP SEQUENCE ||sequence_name || ; from dba_sequences where sequence_owner xxxxx;2.查询出所有序列…

edge 学习工具包 math solver

简介 推荐微软推出的学习工具中的两项工具:数学求解器和 pdf 阅读器。 打开 edge 学习工具包的方法 :右上角三点-更多工具-学习工具包。 math solver 除了基础的计算求解外,还用图标展示公式,清晰直观。 地址:求解…

《C语言程序设计 第4版》笔记和代码 第十一章 指针和数组

第十一章 指针和数组 11.1 指针和一维数组间的关系 1 由于数组名代表数组元素的连续存储空间的首地址,因此,数组元素既可以用下标法也可以用指针来引用。 例11.1见文末 2 p1与p在本质上是两个不同的操作,前者不改变当前指针的指向&#xf…

240711_昇思学习打卡-Day23-LSTM+CRF序列标注(2)

240711_昇思学习打卡-Day23-LSTMCRF序列标注(2) 今天记录LSTMCRF序列标注的第二部分。仅作简单记录 Score计算 首先计算正确标签序列所对应的得分,这里需要注意,除了转移概率矩阵𝐏外,还需要维护两个大小…

k8s NetworkPolicy

Namespace 隔离 默认情况下,所有 Pod 之间是全通的。每个 Namespace 可以配置独立的网络策略,来 隔离 Pod 之间的流量。 v1.7 版本通过创建匹配所有 Pod 的 Network Policy 来作为默认的网络策略 默认拒绝所有 Pod 之间 Ingress 通信 apiVersion: …