NumPy Floor_divide – 完整指南

您好,欢迎来到Numpy Floor_divide教程 在本教程中,我们将学习 NumPy Floor_divide() 方法,并看到许多相关示例。那么让我们开始吧!

推荐阅读 – Numpy 地板


什么是 NumPy Floor_divide?

Python 中的向下取整运算符用 表示//NumPy运算符是andfloor_divide的组合,然后开始求余或 mod 运算符。简化的方程是//%a = a%b + b*(a//b)

NumPyfloor_divide()方法返回小于或等于输入除法的最大整数。输入可以都是数组,也可以是数组和标量。

我们将在本教程的后续部分中看到每个示例的示例。


NumPy Floor_divide 的语法

numpy.floor_divide(x1, x2, out=None)
范围 描述 必需/可选
x1 输入(分子) 必需的
x2 输入(分母) 必需的
出去 用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和长度。 选修的

返回:
n 维数组y , y=(x1/x2)如果x1x2都是标量,则y是标量


NumPy Floor_divide 的示例

现在让我们看一些示例以更好地理解该函数。

当除数是标量时

一维数组

import numpy as np
 
a = 5
arr = [12, 15, 10, 6]
ans = np.floor_divide(arr, a)
print("a =", a)
print("Result =", ans)

输出:

a = 5
Result = [2 3 2 1]

该方法通过将列表中的每个元素除以a并计算其下​​限值来floor_divide计算输出。这里,12/5 = 2.4,floor(2.4) = 2;15/5 = 3,楼层(3) = 3;10/5 = 2,floor(2) = 2 和 6/5 = 1.2,floor(1.2) = 1。因此,结果数组为 [2, 3, 2, 1]。

// 运算符可以用作 ndarray 上 numpy.floor_divide 的简写。

import numpy as np
 
a = 5
arr = np.array([12, 15, 10, 6])
ans = arr // a
print("a =", a)
print("Result =", ans)

输出:

a = 5
Result = [2 3 2 1]

二维数组

import numpy as np
 
a = 5
arr = [[12, 15], [0, 36]]
ans = np.floor_divide(arr, a)
print("a =", a)
print("Result =\n", ans)

输出:

a = 5
Result =
 [[2 3]
 [0 7]]

与一维数组类似,这里也是将每个元素除以a,然后计算其下限值,并将其存储在结果数组中。

  • 结果[0][0] = 下限(12/5) = 下限(2.4) = 2
  • 结果[0][1] = 楼层(15/5) = 楼层(3) = 3
  • 结果[1][0] = 楼层(0/5) = 楼层(0) = 0
  • 结果[1][1] = 下限(36/5) = 下限(7.2) = 7

2 个数组/列表的除法

import numpy as np
 
arr1 = [10, 20, 30, 40]
arr2 = [4, 3, 6, 5]
ans = np.floor_divide(arr1, arr2)
print("Array 1 =", arr1)
print("Array 2 =", arr2)
print("Result =", ans)

输出:

Array 1 = [10, 20, 30, 40]
Array 2 = [4, 3, 6, 5]
Result = [2 6 5 8]

在这种情况下,对两个数组中的相应元素执行除法和取整运算。

  • 结果[0] =arr1[0]/arr2[0] = 下限(10/4) = 下限(2.5) = 2
  • 结果[1] =arr1[1]/arr2[1] = 下限(20/3) = 下限(6.666) = 6
  • 结果[2] =arr1[2]/arr2[2] = 楼层(30/6) = 楼层(5) = 5
  • 结果[3] =arr1[3]/arr2[3] = 楼层(40/5) = 楼层(8) = 8

当数组包含负数元素时

到目前为止,我们已经看到了所有元素都是正数的例子。现在让我们看看该numpy.floor_divide()方法如何处理负值。

import numpy as np
 
arr1 = [16, 5, -30, 18]
arr2 = [8, -5, 7, 10]
ans = np.floor_divide(arr1, arr2)
print("Array 1 =", arr1)
print("Array 2 =", arr2)
print("Result =", ans)

输出:

Array 1 = [16, 5, -30, 18]
Array 2 = [8, -5, 7, 10]
Result = [ 2 -1 -5  1]
  • 结果[0] =arr1[0]/arr2[0] = 楼层(16/8) = 楼层(2) = 2
  • 结果[1] =arr1[1]/arr2[1] = 下限(5/-5) = 下限(-1) = -1
  • 结果[2] =arr1[2]/arr2[2] = 下限(-30/7) = 下限(-4.2857) = -5
  • 结果[3] =arr1[3]/arr2[3] = 下限(18/10) = 下限(1.8) = 1

结论

就这样!在本教程中,我们了解了 Numpy Floor_divide 方法,并使用该方法练习了不同类型的示例。如果您想了解有关 NumPy 的更多信息,请随时阅读我们的 NumPy 教程


参考