📅  最后修改于: 2023-12-03 15:19:14.074000             🧑  作者: Mango
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库中一个很有用的函数之一。