python数组处理方法

2023-11-13

一、数组对象的属性

数组的大小(元素个数)
array.size

数组的维度
array.ndim

数组元素的数据类型
array.dtype

数组的形状
array.shape

数组中每个元素占用的内存空间
array.itemsize

数组所有元素占用的内存空间(字节)
array.nbytes

数组转置
array.T

数组的形状
array.shape

二、数组的索引运算

# 普通索引 - index
array15 = np.random.randint(0, 100, 10)
array15
array([51, 52, 46,  4, 58, 55, 40, 98, 75,  3])

array15[0] = 100
array15
array([100,  52,  46,   4,  58,  55,  40,  98,  75,   3])

array15[-1] = 200
array15
array([100,  52,  46,   4,  58,  55,  40,  98,  75, 200])

# 花式索引 - fancy index
array15[[1, 2, 5, 1, 1, -1]]
array([ 52,  46,  55,  52,  52, 200])

array16 = np.arange(1, 10).reshape((3, 3))
array16
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array16[1]
array([4, 5, 6])

array16[1][1]
5
二维数组的索引运算
# 二维数组的索引运算
array16[1, 1]
5

array16[-1, 1]
8
# 二维数组的花式索引
array16[[0, 1, 1, 2], [0, 1, 2, 0]]
array([1, 5, 6, 7])

array16[[0, 1, 1, 2]]
array([[1, 2, 3],
       [4, 5, 6],
       [4, 5, 6],
       [7, 8, 9]])

# 布尔索引 - 用放布尔类型的数组或列表充当索引 - True对应的元素保留,False对应的元素去除
array15[[True, False, False, True, False, True, True, False, False, False]]
array([100,   4,  55,  40])

array15 > 50
array([ True,  True, False, False,  True,  True, False,  True,  True,
        True])

array15[array15 > 50]
array([100,  52,  58,  55,  98,  75, 200])

array15 % 2 != 0
array([False, False, False, False, False,  True, False, False,  True,
       False])

array15[array15 % 2 != 0]
array([55, 75])

(array15 > 50) & (array15 % 2 != 0)
array([False, False, False, False, False,  True, False, False,  True,
       False])

array15[(array15 > 50) & (array15 % 2 != 0)]
array([55, 75])

array15[(array15 > 50) | (array15 % 2 != 0)]
array([100,  52,  58,  55,  98,  75, 200])

array15[(array15 > 50) & ~(array15 % 2 != 0)]
array([100,  52,  58,  98, 200])

array15[(array15 > 50) & (array15 % 2 == 0)]
array([100,  52,  58,  98, 200])

array16[array16 > 5]
array([6, 7, 8, 9])

# 切片索引
array15[1:5]
array([52, 46,  4, 58])

array15[1:5:2]
array([52,  4])

array15[-3:-8:-1]
array([98, 40, 55, 58,  4])






array16
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array16[:2, 1:]
array([[2, 3],
       [5, 6]])

array16[2]
array([7, 8, 9])

array16[2, :]
array([7, 8, 9])

array16[2:, :]
array([[7, 8, 9]])

array16[::2, ::2]
array([[1, 3],
       [7, 9]])

三、数组对象的方法

源数据

array17 = np.random.randint(200, 500, 12)

array([351, 293, 272, 284, 243, 339, 461, 322, 214, 429, 339, 439])

# 和
array17.sum()
3986
np.sum(array17)
3986

# 算术平均
array17.mean()
332.1666666666667
np.mean(array17)
332.1666666666667

# 中位数
np.median(array17)
330.5
np.quantile(array17, 0.5)
330.5

# 最大值
array17.max()
461
np.amax(array17)
461

# 最小值
array17.min()
214
np.amin(array17)
214

# 极差(peak-to-peak)
array17.ptp()
247
np.ptp(array17)
247

# IQR(四分位距离)
q1, q3 = np.quantile(array17, [0.25, 0.75])
iqr = q3 - q1
iqr

# IQR(四分位距离)
q1, q3 = np.quantile(array17, [0.25, 0.75])
iqr = q3 - q1
iqr
89.5

# 方差
array17.var()
5610.63888888889
np.var(array17)
5610.63888888889

# 标准差
array17.std()
74.90419807253055
np.std(array17)
74.90419807253055

# 累积和(cumulative sum)
array17.cumsum()
array([ 351,  644,  916, 1200, 1443, 1782, 2243, 2565, 2779, 3208, 3547,
       3986])


array19 = np.array([1, 0, 2, 3, 0, 0, 4, 5])
array19
array([1, 0, 2, 3, 0, 0, 4, 5])

# 获取非0元素的索引
array19[array19.nonzero()]
array([1, 2, 3, 4, 5])

array19[array19 != 0]
array([1, 2, 3, 4, 5])

# 排序(就地排序)
array17.sort()
array17
array([214, 243, 272, 284, 293, 322, 339, 339, 351, 429, 439, 461])

array16.T
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])

# 交换轴
array16.swapaxes(0, 1)
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])

# 转置
array16.transpose()
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])

# 将数组变成list对象
array17.tolist()
[214, 243, 272, 284, 293, 322, 339, 339, 351, 429, 439, 461]

array16.tolist()
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

array20 = np.random.randint(0, 100, (12, 5))
array20
array([[12, 11, 78, 15, 61],
       [40,  3, 78, 69, 54],
       [51, 38, 13, 42, 46],
       [89, 60, 46, 42, 56],
       [48, 30, 75, 11, 87],
       [57, 28, 11, 39, 81],
       [99, 98, 29,  5, 50],
       [97, 68,  6,  9, 59],
       [83, 86, 44, 93, 89],
       [50, 19, 25, 24, 94],
       [20, 74,  9, 32, 28],
       [99, 35, 84, 56,  4]])

# 调整数组的形状
array20.reshape(4, 15)
array([[12, 11, 78, 15, 61, 40,  3, 78, 69, 54, 51, 38, 13, 42, 46],
       [89, 60, 46, 42, 56, 48, 30, 75, 11, 87, 57, 28, 11, 39, 81],
       [99, 98, 29,  5, 50, 97, 68,  6,  9, 59, 83, 86, 44, 93, 89],
       [50, 19, 25, 24, 94, 20, 74,  9, 32, 28, 99, 35, 84, 56,  4]])

array20.reshape(2, 3, 10)
array([[[12, 11, 78, 15, 61, 40,  3, 78, 69, 54],
        [51, 38, 13, 42, 46, 89, 60, 46, 42, 56],
        [48, 30, 75, 11, 87, 57, 28, 11, 39, 81]],

       [[99, 98, 29,  5, 50, 97, 68,  6,  9, 59],
        [83, 86, 44, 93, 89, 50, 19, 25, 24, 94],
        [20, 74,  9, 32, 28, 99, 35, 84, 56,  4]]])


np.resize(array20, (3, 3, 3))
array([[[12, 11, 78],
        [15, 61, 40],
        [ 3, 78, 69]],

       [[54, 51, 38],
        [13, 42, 46],
        [89, 60, 46]],

       [[42, 56, 48],
        [30, 75, 11],
        [87, 57, 28]]])


np.resize(array20, (20, 5))
array([[12, 11, 78, 15, 61],
       [40,  3, 78, 69, 54],
       [51, 38, 13, 42, 46],
       [89, 60, 46, 42, 56],
       [48, 30, 75, 11, 87],
       [57, 28, 11, 39, 81],
       [99, 98, 29,  5, 50],
       [97, 68,  6,  9, 59],
       [83, 86, 44, 93, 89],
       [50, 19, 25, 24, 94],
       [20, 74,  9, 32, 28],
       [99, 35, 84, 56,  4],
       [12, 11, 78, 15, 61],
       [40,  3, 78, 69, 54],
       [51, 38, 13, 42, 46],
       [89, 60, 46, 42, 56],
       [48, 30, 75, 11, 87],
       [57, 28, 11, 39, 81],
       [99, 98, 29,  5, 50],
       [97, 68,  6,  9, 59]])

四、数组和标量的运算


array1 = np.array([1, 2, 3, 4, 5])
array1
array([1, 2, 3, 4, 5])

array1 + 10
array([11, 12, 13, 14, 15])

array1 % 2
array([1, 0, 1, 0, 1], dtype=int32)

array1 ** 2
array([ 1,  4,  9, 16, 25])

array2 = np.arange(1, 10).reshape(3, 3)
array2
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array2 * 10
array([[10, 20, 30],
       [40, 50, 60],
       [70, 80, 90]])

五、数组和数组的运算

array1 = np.array([1, 2, 3, 4, 5])
array1
array([1, 2, 3, 4, 5])

array3 = np.array([10, 10, 10, 0.1, 0.01])
array3
array([10.  , 10.  , 10.  ,  0.1 ,  0.01])

array1 / array3
array([1.e-01, 2.e-01, 3.e-01, 4.e+01, 5.e+02])

array4 = np.array([[10, 10, 10], [20, 20, 20], [30, 40, 50]])
array4
array([[10, 10, 10],
       [20, 20, 20],
       [30, 40, 50]])

array2 * array4
array([[ 10,  20,  30],
       [ 80, 100, 120],
       [210, 320, 450]])

array5 = np.arange(10, 70, 10).reshape(2, 3)
array5
array([[10, 20, 30],
       [40, 50, 60]])

array5.shape
(2, 3)

array2
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array6 = np.array([[10, 20, 30]])
array6
array([[10, 20, 30]])

array2.shape
(3, 3)
array6.shape
(1, 3)

array2 + array6
array([[11, 22, 33],
       [14, 25, 36],
       [17, 28, 39]])

广播机制

两个形状(shape属性)不一致的数组能否运算,取决于是否可以通过广播机制让它们的形状一致。

广播机制的适用条件(二选一):

两个数组后缘维度(shape属性从后往前看)相同。
两个数组后缘维度不相同,但是不同的部分其中一方是1。
array6
array([[10, 20, 30]])

array7 = np.array([10, 20, 30]).reshape(3, 1)
array7
array([[10],
       [20],
       [30]])

array6 + array7
array([[20, 30, 40],
       [30, 40, 50],
       [40, 50, 60]])

六、NumPy中操作数组的函数

array8 = np.array([1, np.nan, 3, np.inf, 5])
array8
array([ 1., nan,  3., inf,  5.])

np.isnan(array8)
array([False,  True, False, False, False])

np.any(np.isnan(array8))
True

np.isinf(array8)
array([False, False, False,  True, False])

np.any(np.isinf(array8))
True

array8[~np.isinf(array8) & ~np.isnan(array8)]
array([1., 3., 5.])

array9 = np.array([[1, 0, 2], [-1, 3, 1]])
array9
array([[ 1,  0,  2],
       [-1,  3,  1]])

array10 = np.array([[3, 1], [2, 1], [1, 0]])
array10
array([[3, 1],
       [2, 1],
       [1, 0]])

array9 @ array10
array([[5, 1],
       [4, 2]])

# matrix multiply
np.matmul(array9, array10)
array([[5, 1],
       [4, 2]])

array11 = np.random.randint(1, 100, 10)
array11
array([75, 35, 21, 74, 19, 21, 56,  2, 56, 80])

# 排序(返回新的数组对象)
np.sort(array11)
array([ 2, 19, 21, 21, 35, 56, 56, 74, 75, 80])

array11
array([75, 35, 21, 74, 19, 21, 56,  2, 56, 80])

array11.sort()
array11
array([ 2, 19, 21, 21, 35, 56, 56, 74, 75, 80])

array12 = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
array13 = np.array([[4, 4, 4], [5, 5, 5], [6, 6, 6]])

array12
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
array13
array([[4, 4, 4],
       [5, 5, 5],
       [6, 6, 6]])

# 堆叠数组(vertical方向)
array14 = np.vstack((array12, array13))
array14
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3],
       [4, 4, 4],
       [5, 5, 5],
       [6, 6, 6]])

# 堆叠数组(horizontal方向)
np.hstack((array12, array13))
array([[1, 1, 1, 4, 4, 4],
       [2, 2, 2, 5, 5, 5],
       [3, 3, 3, 6, 6, 6]])

# 将数组堆叠成更高维的数组
np.stack((array12, array13), axis=0)
array([[[1, 1, 1],
        [2, 2, 2],
        [3, 3, 3]],

       [[4, 4, 4],
        [5, 5, 5],
        [6, 6, 6]]])

np.stack((array12, array13), axis=1)
array([[[1, 1, 1],
        [4, 4, 4]],

       [[2, 2, 2],
        [5, 5, 5]],

       [[3, 3, 3],
        [6, 6, 6]]])

# 拆分数组
np.split(array14, 3)
[array([[1, 1, 1],
        [2, 2, 2]]),
 array([[3, 3, 3],
        [4, 4, 4]]),
 array([[5, 5, 5],
        [6, 6, 6]])]

# 追加元素(返回新的数组对象)
np.append(array11, 100)
array([  2,  19,  21,  21,  35,  56,  56,  74,  75,  80, 100])

# 在指定的位置插入元素(返回新的数组对象)
np.insert(array11, 1, 100)
array([  2, 100,  19,  21,  21,  35,  56,  56,  74,  75,  80])

# 通过对数组元素的重复创建新数组
np.repeat(array11, 2)
array([ 2,  2, 19, 19, 21, 21, 21, 21, 35, 35, 56, 56, 56, 56, 74, 74, 75,
       75, 80, 80])

# 通过对数组元素的重复创建新数组
np.tile(array11, 2)
array([ 2, 19, 21, 21, 35, 56, 56, 74, 75, 80,  2, 19, 21, 21, 35, 56, 56,
       74, 75, 80])
array11
array([ 2, 19, 21, 21, 35, 56, 56, 74, 75, 80])

# 根据指定的条件筛选数组元素得到新数组
np.extract(array11 % 2 != 0, array11)
array([19, 21, 21, 35, 75])

# 根据条件列表以及对应的处理数据的表达式处理数据得到新数组
np.select([array11 < 30, array11 > 60], [array11 ** 2, array11 / 10])
array([  4. , 361. , 441. , 441. ,   0. ,   0. ,   0. ,   7.4,   7.5,
         8. ])

# 根据指定的条件对满足和不满足条件的数据进行处理得到新数组
np.where(array11 > 50, array11 / 10, array11 ** 2)
array([   4. ,  361. ,  441. ,  441. , 1225. ,    5.6,    5.6,    7.4,
          7.5,    8. ])

# 用指定的值替换数组中指定索引的元素
np.put(array11, [0, 2, 3, 5], [100, 200])
array11
array([100,  19, 200, 100,  35, 200,  56,  74,  75,  80])


# 设置一个条件将满足条件的元素用指定的值进行替换
np.place(array11, array11 > 50, [1, 2, 3])
array11
array([ 1, 19,  2,  3, 35,  1,  2,  3,  1,  2])

七、向量

v1 = np.array([3, 4])
v2 = np.array([5, 1])

# 向量的加法
v1 + v2
array([8, 5])

# 向量的减法
v1 - v2
array([-2,  3])

# 向量的数乘
2 * v1
array([6, 8])

在这里插入图片描述

用向量判断最接近的数据

hao = np.array([80, 95, 98])
hao
array([80, 95, 98])
stu1 = np.array([100, 20, 50])
stu2 = np.array([90, 92, 95])
stu3 = np.array([80, 94, 97])

# np.dot函数可以实现向量的点积运算
# np.linalg.norm函数可以计算向量的模(欧几里得空间中的距离)
# 通过向量点积可以判断两个向量的余弦距离(相似度 - 夹角越小相似度越高)
theta1 = np.dot(hao, stu1) / np.linalg.norm(hao) / np.linalg.norm(stu1)
np.rad2deg(np.arccos(theta1))
34.54767877562217

theta2 = np.dot(hao, stu2) / np.linalg.norm(hao) / np.linalg.norm(stu2)
np.rad2deg(np.arccos(theta2))
3.8613998977477624

theta3 = np.dot(hao, stu3) / np.linalg.norm(hao) / np.linalg.norm(stu3)
np.rad2deg(np.arccos(theta3))
0.26109321614097053

由上数据可以知道最后一组数据与源数组最接近

八、行列式运算


# 行列式(determinant)是由多个向量组合在一起构成的
det1 = np.vstack((v1, v2))
det1
array([[3, 4],
       [5, 1]])

# 计算行列式的值
np.linalg.det(det1)
-17.0

det2 = np.arange(1, 10).reshape(3, -1)
det2
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

np.linalg.det(det2)
0.0

det2[-1, -1] = 8
det2
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 8]])

np.around(np.linalg.det(det2))
3.0

九、矩阵运算

# 矩阵
mat1 = np.array([1, 3, 5, 9, 4, 3, 6, 2]).reshape(4, 2)
mat1
array([[1, 3],
       [5, 9],
       [4, 3],
       [6, 2]])

mat2 = np.array([10, 10, 20, 20, 30, 30]).reshape(2, 3)
mat2
array([[10, 10, 20],
       [20, 30, 30]])

# 矩阵乘法
mat1 @ mat2
array([[ 70, 100, 110],
       [230, 320, 370],
       [100, 130, 170],
       [100, 120, 180]])

# 矩阵乘法
np.matmul(mat1, mat2)
array([[ 70, 100, 110],
       [230, 320, 370],
       [100, 130, 170],
       [100, 120, 180]])

mat1.T
array([[1, 5, 4, 6],
       [3, 9, 3, 2]])
mat2.T
array([[10, 20],
       [10, 30],
       [20, 30]])

# 逆矩阵:
# 									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python数组处理方法 的相关文章

  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • 从 Python 下载/安装 Windows 更新

    我正在编写一个脚本来自动安装 Windows 更新 我可以将其部署在多台计算机上 这样我就不必担心手动更新它们 我想用 Python 编写这个 但找不到任何关于如何完成此操作的信息 我需要知道如何搜索更新 下载更新并从 python 脚本安
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • 更改 x 轴比例

    我使用 Matlab 创建了这个图 使用 matplotlib x 轴绘制大数字 例如 100000 200000 300000 我想要 1 2 3 和 10 5 之类的值来指示它实际上是 100000 200000 300000 有没有一
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o
  • CNTK 抱怨 LSTM 中的动态轴

    我正在尝试在 CNTK 中实现 LSTM 使用 Python 来对序列进行分类 Input 特征是固定长度的数字序列 时间序列 标签是 one hot 值的向量 Network input input variable input dim
  • 揭秘sharedctypes性能

    在 python 中 可以在多个进程之间共享 ctypes 对象 然而我注意到分配这些对象似乎非常昂贵 考虑以下代码 from multiprocessing import sharedctypes as sct import ctypes
  • 对使用 importlib.util 导入的对象进行酸洗

    我在使用Python的pickle时遇到了一个问题 我需要通过将文件路径提供给 importlib util 来加载一些 Python 模块 如下所示 import importlib util spec importlib util sp
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • 在 Spyder 的变量资源管理器中查看局部变量

    我是 python 新手 正在使用 Spyder 的 IDE 我欣赏它的一项功能是它的变量资源管理器 然而 根据一些研究 我发现它只显示全局变量 我找到的解决方法是使用检查模块 import inspect local vars def m
  • Flask 应用程序的测试覆盖率不起作用

    您好 想在终端的 Flask 应用程序中测试 删除路由 我可以看到测试已经过去 它说 test user delete test app LayoutTestCase ok 但是当我打开封面时 它仍然是红色的 这意味着没有覆盖它 请有人向我
  • sqlite3从打印数据中删除括号

    我创建了一个脚本 用于查找数据库第一行中的最后一个值 import sqlite3 global SerialNum conn sqlite3 connect MyFirstDB db conn text factory str c con
  • Python对象初始化性能

    我只是做了一些快速的性能测试 我注意到一般情况下初始化列表比显式初始化列表慢大约四到六倍 这些可能是错误的术语 我不确定这里的行话 例如 gt gt gt import timeit gt gt gt print timeit timeit
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor
  • bs4 `next_sibling` VS `find_next_sibling`

    我在使用时遇到困难next sibling 并且类似地与next element 如果用作属性 我不会得到任何返回 但如果用作find next sibling or find next 然后就可以了 来自doc https www cru
  • [cocos2d-x]当我尝试在 Windows 10 中运行“python android-build.py -p 19 cpp-tests”时出现错误

    当我尝试运行命令时python android build p cpp tests 我收到如图所示的错误 在此之前 我收到了另一条关于 Android SDK Tools 版本兼容性的错误消息 所以 我只是将 sdk 版本从 26 0 0
  • 通过 Web 界面执行 python 单元测试

    是否可以通过 Web 界面执行单元测试 如果可以 如何执行 EDIT 现在我想要结果 对于测试 我希望它们是自动化的 可能每次我对代码进行更改时 抱歉我忘了说得更清楚 EDIT 这个答案此时已经过时了 Use Jenkins https j
  • 使用 Python 将对象列表转为 JSON

    我在转换时遇到问题Object实例到 JSON ob Object list name scaping myObj base url u number page for ob in list name json string json du
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c

随机推荐

  • C语言头文件和源文件差异,#include两种引用方式差异

    一些初学c语言的人 不知道头文件 h文件 原来还可以自己写的 只知道调用系统库函数时 要使用 include语句将某些头文件包含进去 其实 头文件跟 c文件一样 是可以自己写的 头文件是一种文本文件 使用文本编辑器将代码编写好之后 以扩展名
  • Java将一个List中的值赋值给另一个List

    刷leetcode中的一道dfs题时 添加结果集时如果不新创建list所有添加的list都是同一个 并且回溯得到时候会删掉所有元素 Java中 的作用有两个 1 赋值 2 指向地址 当对基本数据类型进行赋值时 的作用就是单纯的赋值 例如 i
  • 使用zabbix监控avamar【一】

    1 介绍 avamar是dell的一款数据备份产品 用于公司私有云平台虚拟机备份 虽然不是与业务直接相关 关注度不是特别高 也正因为如此偶尔出现备份失败问题不能及时发现 所以要加入公司的智慧运维系统 以zabbix为底层开发 2 选择模式
  • 变分推断的数学推导

    这里只给出变分推断的数学推导 变分颇为高深 这里只是简单介绍一下基本概念 想了解更多详见 https blog csdn net weixin 40255337 article details 83088786 变分推断的目的是构造 q w
  • seaborn可视化库分析库基础01 - 布局、参数、色板等

    Seaborn库简介 Seaborn库官网 正如你所知道的 Seaborn是比Matplotlib更高级的免费库 特别地以数据可视化为目标 但他要比这一切更进一步 他解决了用Matplotlib的2个最大问题 正如Michael Wasko
  • windows中将sqlmap添加到环境变量中

    在windows下每次使用sqlmap进行sql注入测试时 都要先进到sqlmap py的目录中 然后执行python sqlmap py url 而作为未来的渗透大佬 怎么能够允许这么low的事情出现 1 添加环境变量 电脑右键属性 高级
  • 【读书笔记】周志华 机器学习 第六章 支持向量机

    第六章 支持向量机 1 间隔和支持向量 2 核函数 3 软间隔和正则化 4 参考文献 1 间隔和支持向量 对上图所示的数据集 有多个超平面可以划分 直观上来说 最中间加粗的那个超平面是最好的 因为离两类数据都比较远 离两类数据都比较远 的好
  • 2020-01-03

    注册 登陆 当进入一个网站时首先进行注册 注册时会提示输入手机号 利用阿里大鱼接口发送一条短信验证码到当前号码并将短信验证码保存到redis 注册时会提示输入邮箱账号 当点击注册时会给当前邮箱发送一条激活码给用户激活 注册成功后会跳转到登陆
  • Netty4之编解码

    本文是基于Netty4 1 x 一般在使用Netty作为网络框架进行开发时 编解码框架是我们应该注意的一个重要部分 应用从网络层接收数据需要经过解码 Decode 将二进制的数据报转换从应用层的协议消息 这样才能被应用逻辑所识别 同样 客户
  • html标题、段落、换行与字符实体

    html标题 通过 h1 h2 h3 h4 h5 h6 标签可以在网页上定义6种级别的标题 6种级别的标题表示文档的6级目录层级关系 比如说 h1 用作主标题 最重要的 其后是 h2 次重要的 再其次是 h3 以此类推 搜索引擎会使用标题将
  • 虚拟数字人类型的形象分为四种

    虚拟人应用类型 虚拟人根据应用场景分为四种 1 虚拟偶像 打造粉丝经济 受到品牌青睐 爱奇艺今年以虚拟偶像新艺打的综艺 跨次元新星 B站推出的跨人团体VirtuaRealReal参加上海时装周 将虚拟与现实连接 拓展多元化应用场景 创造更多
  • UE4官方文档链接记录

    创建并使用自定义高度图和图层 https docs unrealengine com latest CHN Engine Landscape Custom index html 点击打开链接 自发光材质照亮场景 https docs unr
  • 基于 React 和 Redux 开发一个任务管理应用,支持添加任务、编辑任务、完成任务和删除任务等功能

    以下是一个基于 React 和 Redux 的任务管理应用的简单实现 支持添加任务 编辑任务 完成任务和删除任务等功能 javascript import React useState from react import createSto
  • 数字信号处理2-截止频率

    截止频率 2013 10 07 23 50 04 转载 在物理学和电机工程学中 一个系统的输出信号的能量通常随输入信号的频率发生变化 频率响应 截止频率 英语 Cutoff frequency 1 是指一个系统的输出信号能量开始大幅下降 在
  • 学习python爬虫看一篇就足够了之爬取《太平洋汽车》论坛及点评实战爬虫大全

    前言 这也是一篇毕业论文的数据爬虫 我第一次看见 太平洋汽车 的点评信息时 检查它的网页元素 发现并没有像 汽车之家 那样的字体反爬技术 所以就初步判断它没有很强的反爬虫技术 大不了就使用selenium库自动化实现爬虫呗 但是我确因为这样
  • 电脑如何查看及开启虚拟化

    什么是虚拟化 Intel Virtualization Technology就是以前众所周知的 Vanderpool 技术 简称VT 中文译为虚拟化技术 这种技术可以让一个CPU工作起来就像多个CPU并行运行 从而使得在一部电脑内同时运行多
  • 华为OD机试 - 最小循环子数组(Python)

    题目描述 给定一个由若干整数组成的数组nums 请检查数组是否是由某个子数组重复循环拼接而成 请输出这个最小的子数组 输入描述 第一行输入数组中元素个数n 1 n 100000 第二行输入数组的数字序列nums 以空格分割 0 nums i
  • Rsa 加密和解密

  • java 锁 Lock接口详解

    一 java util concurrent locks包下常用的类与接口 lock是jdk 1 5后新增的 1 Lock和ReadWriteLock是两大锁的根接口 Lock代表实现类是ReentrantLock 可重入锁 ReadWri
  • python数组处理方法

    一 数组对象的属性 数组的大小 元素个数 array size 数组的维度 array ndim 数组元素的数据类型 array dtype 数组的形状 array shape 数组中每个元素占用的内存空间 array itemsize 数
Powered by Hwhale