从ndarray转mapping
时间: 2023-07-15 19:11:22 浏览: 81
假设你的 ndarray 是一个二维数组,其中每一行表示一个键值对,第一列是键,第二列是值,你可以这样将它转换成一个字典:
```python
import numpy as np
# 构造一个二维数组,每一行表示一个键值对,第一列是键,第二列是值
arr = np.array([
['key1', 'value1'],
['key2', 'value2'],
['key3', 'value3']
])
# 将二维数组转换成字典
mapping = dict(arr)
print(mapping) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
```
如果你的 ndarray 是一个一维数组,其中每个元素都是键或值,你可以这样将它转换成一个字典:
```python
import numpy as np
# 构造一个一维数组,其中每个元素都是键或值
arr = np.array(['key1', 'value1', 'key2', 'value2', 'key3', 'value3'])
# 将一维数组转换成字典
mapping = dict(zip(arr[::2], arr[1::2]))
print(mapping) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
```
这里使用了 `zip` 函数将一维数组中的偶数索引和奇数索引分别组合成键值对,然后用 `dict` 函数将它们转换成字典。注意,由于 Python 的索引从0开始,所以 `arr[::2]` 表示从0开始每隔两个取一个元素,`arr[1::2]` 表示从1开始每隔两个取一个元素。
阅读全文