📜  Python| Numpy np.digitize() 方法(1)

📅  最后修改于: 2023-12-03 15:19:14.074000             🧑  作者: Mango

Python | Numpy np.digitize() 方法

NumPy是Python中用于科学计算的一个库。其中的np.digitize()方法允许将一组数字分成多个离散的部分或范围。本文将介绍np.digitize()方法的语法、参数和示例。

语法

numpy.digitize(x, bins, right=False)

np.digitize()方法包含以下参数:

  • x:表示要分段的输入数组。
  • bins:表示用于拆分输入数组的数组或序列。它以递增顺序给出,并包括左侧的边缘。
  • right:表示一个可选的bool类型参数。默认值为False。如果为True,则右边的边缘被视为该行的一部分,否则它们不是。
示例

下面是使用np.digitize()方法对NumPy数组进行离散化的基本示例。

# 导入NumPy
import numpy as np
 
# 定义数组以及相应的数值范围
arr = np.array([1.4, 2.4, 3.5, 4.5, 6.0, 7.4])
bins = np.array([0.0, 1.0, 2.5, 4.0, 6.0, 8.0])
 
# 将输入数组离散化为相应的数值范围
result = np.digitize(arr, bins)
print(result)

结果:

[2 3 4 4 5 5]

输出结果显示,输入数组的所有元素都被分到相应的范围中。

下面是带有right参数的示例:

# 定义一个包含一组数据的数组
arr = np.array([0.2, 6.4, 3.0, 1.6, 9.4, 3.4])
bins = np.array([0.0, 1.0, 2.5, 4.0, 6.0, 10.0])
 
# 将右侧边缘包含在相应的范围内
result = np.digitize(arr, bins, right=True)
print(result)

结果:

[1 5 3 2 6 3]

在此示例中,右侧边缘被包含在相应的范围内,因为right参数值为True

总结

np.digitize()方法可以做离散化,并且具有灵活性以适应不同的用例。它是NumPy库中一个很有用的函数之一。