Numpy 的 unique(~)
方法返回一个 Numpy 数组,其中包含输入数组的已排序唯一值。
参数
1. a
| array-like
输入数组。
2. return_index
| boolean
| optional
是否返回唯一值的索引。默认情况下,return_index=False
。
3. return_inverse
| boolean
| optional
是否返回可用于重建输入数组的索引。检查下面的示例以进行说明。默认情况下,return_inverse=False
。
4. return_counts
| boolean
| optional
是否返回每个值出现的次数。默认情况下,return_counts=False
。
5. axis
| int
或 None
| optional
沿着其寻找唯一值的轴。
轴 |
意义 |
---|---|
0 |
查找唯一的行 |
1 |
查找独特的列 |
None |
寻找独特的值 |
默认情况下,axis=None
。
返回值
包含输入值的唯一值的 Numpy 数组。您还将获得其他数组,具体取决于您是否将任何 return_
参数标记为 True
。
例子
基本用法
一维案例
要查找一维数组中的所有唯一值:
a = np.array([4,5,6,5])
np.unique(a)
array([4, 5, 6])
2D案例
考虑以下二维数组:
a = np.array([[4,5],[6,5]])
a
array([[4, 5],
[6, 5]])
要查找二维数组中的所有唯一值:
np.unique(a)
array([4, 5, 6])
获取唯一值的索引
要获取唯一值的索引:
a = np.array([4,5,6,5])
arr_unique_values, arr_index = np.unique(a, return_index=True)
print(arr_unique_values)
print(arr_index)
[4 5 6]
[0 1 2]
获取逆索引
获取逆索引:
a = np.array([4,5,6,5])
arr_unique_values, arr_inverse = np.unique(a, return_inverse=True)
print(arr_unique_values)
print(arr_inverse)
[4 5 6]
[0 1 2 1]
这里,可以使用逆来重建原始值:
arr_unique_values[arr_inverse]
array([4, 5, 6, 5])
获取计数
要获取计数,请设置 return_counts=True
:
a = np.array([4,5,6,5])
arr_unique_values, arr_counts = np.unique(a, return_counts=True)
print(arr_unique_values)
print(arr_counts)
[4 5 6]
[1 2 1]
在这里,我们看到值 5 在原始数组中出现了两次。
查找唯一的行
考虑以下二维数组:
a = np.array([[4,5],[6,5],[4,5]])
a
array([[4, 5],
[6, 5],
[4, 5]])
在这里,我们看到索引 0 和索引 2 处的行是重复的。要获取所有唯一的行:
np.unique(a, axis=0)
array([[4, 5],
[6, 5]])
寻找独特的列
考虑以下二维数组:
a = np.array([[4,5,4],[6,8,6]])
a
array([[4, 5, 4],
[6, 8, 6]])
在这里,我们看到索引 0 和索引 2 处的列是重复的。要获取所有唯一列:
np.unique(a, axis=1)
array([[4, 5],
[6, 8]])
相关用法
- Python Pandas unique方法用法及代码示例
- Python unittest.mock.AsyncMock.assert_awaited_once_with用法及代码示例
- Python unittest.TestCase.assertWarnsRegex用法及代码示例
- Python unittest.mock.Mock.__class__用法及代码示例
- Python unittest.TestCase.assertRaisesRegex用法及代码示例
- Python unittest.mock.call用法及代码示例
- Python unittest.mock.Mock.method_calls用法及代码示例
- Python unittest.mock.Mock.call_args_list用法及代码示例
- Python unittest.mock.AsyncMock.assert_any_await用法及代码示例
- Python unittest.mock.Mock.assert_called用法及代码示例
- Python unittest.TestCase.assertRaises用法及代码示例
- Python unittest.TestCase.tearDownClass用法及代码示例
- Python unittest.mock.Mock.assert_not_called用法及代码示例
- Python unittest.IsolatedAsyncioTestCase用法及代码示例
- Python unittest.TestCase.setUpClass用法及代码示例
- Python unittest.mock.Mock.mock_calls用法及代码示例
- Python unittest.mock.Mock.call_args用法及代码示例
- Python unittest.mock.Mock.assert_has_calls用法及代码示例
- Python unittest.mock.AsyncMock.assert_awaited_with用法及代码示例
- Python unittest.mock.Mock.configure_mock用法及代码示例
- Python unittest.mock.Mock.called用法及代码示例
- Python unittest.mock.Mock.side_effect用法及代码示例
- Python unittest.mock.Mock.assert_called_once_with用法及代码示例
- Python unittest.mock.AsyncMock.assert_has_awaits用法及代码示例
- Python unittest.mock.AsyncMock.assert_awaited_once用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | unique method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。